0

現在、Web サイトのパスワード式バリデーターを複製する必要があります。パスワードの長さは、8 ~ 25 文字 (アルファベットのみ) にする必要があります。これは奇妙だと思い、この正規表現を使用していました

(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,25})

ただし、パスワード全体に大文字、特殊文字、および/または数字を含めることはオプションである必要があります。オプションの文字がある正規表現を構築するのは特に得意ではありません。どんな助けでも大歓迎です。

asp.net を使用していRegularExpressionValidatorます。

4

2 に答える 2

3

このパターンは機能するはずです:

^[a-zA-Z]{8,25}$

8 ~ 25 文字のラテン文字で構成される文字列に一致します。

数値も許可する場合は、次のパターンが機能するはずです。

^[a-zA-Z0-9]{8,25}$

8 ~ 25 個のラテン文字または 10 進数で構成される文字列に一致します。

特殊文字も許可する場合は、次のパターンが機能するはずです。

^[a-zA-Z0-9$@!]{8,25}$

これは、8 ~ 25 個のラテン文字、10 進数、または記号、または (もちろん、このセットにかなり簡単に追加できます) で構成される文字列に一致$@ます!

于 2013-09-13T15:23:03.713 に答える
2

現在の正規表現は、9 文字目以降の特殊文字を受け入れるため機能しません (実際には 9 文字目以降、文字列アンカーの終わりがないため 26 文字目も) 。

おそらく次のようなものが必要です。

^(?=.*[a-z])[A-Za-z0-9]{8,25}$

これは最初に小文字のアルファベットがあることを確認し(大文字と数字はオプションであると述べたので、これは必須の小文字になります)、次に大文字と数字のみを許可します。

編集:特殊文字を許可するには、これを使用できます

^(?=.*[a-z]).{8,25}$

あなたの問題についての私の理解では、パスワードの最初の要件は、小文字のアルファベット文字を含める必要があるということです。現在のオプションは、他の文字も含めることができるということです。これが正しくない場合は、お知らせください。

正規表現101のデモ

于 2013-09-13T15:25:31.117 に答える