私は単純なパスワードバリデーターに取り組んでおり、正規表現でそれが可能かどうか疑問に思っています...各文字を個別にチェックする以外に何か。
基本的に、ユーザーが「aaaaaaaaa1aaaaa」のように入力した場合、「1」という文字は許可されていないことをユーザーに知らせたいと思います(これは非常に単純な例です)。
私は次のようなことを避けようとしています
if(value.indexOf('@') {}
if(value.indexOf('#') {}
if(value.indexOf('\') {}
多分次のようなものです:
if(/[^A-Za-z0-9]/.exec(value) {}
何か助けはありますか?
文字列が有効かどうかを確認したいだけの場合は、次を使用できます。RegExp.test()
これはexec()
、最初の出現を検出したときにtrueを返すため、より効率的です。
var value = "abc$de%f";
// checks if value contains any invalid character
if(/[^A-Za-z0-9]/.test(value)) {
alert('invalid');
}
無効な文字を特定する場合は、次を使用する必要がありますString.match()
。
var value = "abc$de%f";
var invalidChars = value.match(/[^A-Za-z0-9]/g);
alert('The following characters are invalid: ' + invalidChars.join(''));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加