次のコードを使用して、ユーザーが入力フィールド (id='username') にユーザー名を正しく書き込んだかどうかをテストしています。残念ながら、他の特殊文字 (^、*、+、§ など) が使用されている場合、コードはエラーを報告しません。
例えば:
ミッキー^
ppppppp§°
ミッキー12-22
それらはすべてテストに合格します。
残念ながら、私は数日を費やしましたが、問題を解決できませんでした.
ユーザー名の構文は次のとおりです。
- 最初の文字 = 文字
- 次の文字 = 文字 OR 数字 OR _ (アンダースコア) . (ポイント) - (ダッシュ)
- 最小長 5 文字
- 最大長 20 文字
これはコードです:
> var returncode = true;
> var userinput = $('#username').val();
> var pattern = new RegExp(/^[a-zA-Z]{1}|[a-zA-Z0-9_\.\-]{4, 19}$/);
> if(!pattern.test(userinput)) {
> returncode = false;
> }
どんな助けでも大歓迎です。
ありがとうございました