コンポーネント(javascript)でパスワードの正規表現のコンポーネントを説明する

/(?=。* \ d)(?=。* [a-z])(?=。* [A-Z])。{6,8}/

このRegExは、小文字と大文字の少なくとも1桁を含むパスワードを検証することになっています。誰も小規模なコンポーネントでこのRegExを説明できますか?

9
@ LightnessRacesinOrbitは公平に、その単なる例です。ほとんどの例と同様、この知識は他のシナリオにも適用可能であると想定されています。
追加された 著者 tim peterson,
あなたの正規表現ではなく、正規表現に関する質問をしてください。
追加された 著者 Lightness Races in Orbit,

6 答え

/(?=.\d)(?=.[a-z])(?=.*[A-Z]).{6,8}/

この正規表現は、一般にパスワードの検証に使用されます。

パスワードは、 1 UpperCase 1 LowerCase 1 特殊文字なしを含む必要があります。

(?=.*\d) //at least 1 numeric charater.

(?=.*[a-z]) //atleast 1 lowercase.

(?=.*[A-Z]) //atleast 1 uppercase.

.{6,8} //string is of 6 to 8 length.

お役に立てれば。

11
追加された

(?=.*\d) ensures your string has a digit in it.

(?=.*[a-z])ensures your string has a lowercase ASCII letter in it.

(?=.*[A-Z])ensures your string has a uppercase ASCII letter in it.

.{6,8} matches a string of atleast 6 and atmost 8 characters.

アンカーが見つからないので、あなたの正規表現は上記の4つの条件のすべてを満たす文字列を部分文字列として持つ文字列と一致します。

8
追加された
(そしてもちろん、ASCII文字と数字だけです)また、アンカーなしでは、8文字以上の文字列も(部分的に)一致します...
追加された 著者 Tim Pietzcker,
@ティム:正しい...
追加された 著者 codaddict,
あなたがより速く入力したので、+1と削除された鉱山。
追加された 著者 stema,

(?=..) means: Let the string after the current position contain ...

(?=.*\d)    # Somewhere, at least one digit should appear
(?=.*[a-z]) #            and at least a lowercase letter
(?=.*[A-Z]) #            and at least an uppercase letter
.{6,8}      #            must consist of 6-8 characters

あなたのパターンには、文字列の先頭と最後のマーカーがありません。 ^ $ を追加してください:

/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,8}$/
6
追加された
 ?= is look ahead for the following feature within brackets ()
 then (?=.*\d) 0 or more of any character that is a decimal 0-9
 then (?=.*[a-z]) after that look ahead for 0 or more a-z characters 
 then (?=.*[A-Z]) after that look ahead for 0 or more A-Z uppercase characters 
 .{6,8}/ and then must be 6-8 character long

最初の^または$を終了することなく、これは上記の規則に一致する6〜8文字の任意の文字列に一致します。

*を+に変更すると、1つ以上の文字に一致します

4
追加された

さまざまな部分を見て、

(?=.*\d) password must be at least 6 characters, and at most 8 letters long..

^(?=.*\d) contains one number,

(?=.*[a-z]) one small alphabet and

(?=.*[A-Z]) one capital letter..

このように使うことができます

 ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{lower_limit, upper_limit}$

少なくとも1つの小文字、1つの大文字、1つの数字(長さ(下、上)

3
追加された

正規表現はあいまいです。 "。*"の組み合わせは使用しないでください。期間は任意の文字を意味し、アスタリスクは0回以上出現します。これはおそらくあなたの文字列の全体です。

2
追加された
JavaScript - 日本のコミュニティ
JavaScript - 日本のコミュニティ
2 参加者の

日本人コミュニティのjavascript