1. ホーム
  2. javascript

単純な正規 ^(?! [^a-zA-Z]+$)(?!!\D+$)[0-9a-zA-Z]{6,35}$ となります。

2022-02-23 05:35:18

^(?! [^a-zA-Z]+$)(?!!\D+$)[0-9a-zA-Z]{6,35}$.

^ <スパン (?! [^a-zA-Z]+$) <スパン (?! \D+$) [0-9a-zA-Z] {6,35}   $


<スパン 1. ^
文字列の先頭(または行頭)にマッチします。


<スパン 2. (?! [^a-zA-Z]+$)
アサーション   この位置以降、文字列の末尾より前のすべての文字 すべて数字であることはできません。 ([^a-zA-Z] は、以下の意味です。 非英語の文字 と組み合わせることで、ここでは 一致する数字 ).
現在の位置は文字列の先頭なので は、文字列全体がすべて数字であってはならないことを意味します。 .
( ?! exp)は ゼロ幅アサーション は、アサーションの後のコンテンツはexpにできないことを意味し、[^a-zA-Z]は 非英語の文字 , + とは 複数の , の末尾にマッチします。 .

<スパン 3. (?! \D+$)
2と同じように使用します。 \非数値の場合 , i.e. 英語 (数字、または英語のいずれか) .


<スパン 4. [0-9a-zA-Z]{6,35}のようになります。
は、6ビットから35ビットまでの文字列全体にマッチすることを意味します。   数字と文字 で構成されています。


5. $
文字列の末尾(または行末)に一致するもの


結論
にマッチします。 数字と文字が混在した6桁から35桁のパスワード 正規表現が

/^[A-Za-z_][A-Za-z0-9_]{5,15}$/
/^$/ :完全な式
^ :何から始めるかを示す、または逆を取る
$ :終了
^[A-Za-z_] : サイズに関係なく、文字で始まる。
[^A-Za-z_] :文字以外でも可。
[A-Za-z0-9_] : 文字数、単語の下、アンダーラインを入れることができます。
{5,15} : 6文字から16文字を含むことができます。
.match() //マッチ

var username = /^[A-Za-z_][A-Za-z0-9_]{5,15}$/;
var name = "a45612fd";
name.match(username)。