非常に複雑な正規表現でASPのRegularExpressionValidatorを使用しています。これはすでにうまく機能しています:
(?=^.{10,}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[+#<>;.,:|\\-@*!\"§$%&/()=?`´]).*$
ただし、現在のユーザー名がパスワードの一部(大文字と小文字を区別しない)であるかどうかのチェックを追加するには、これを拡張する必要があります。
たとえば、ユーザー名はMeierで、ユーザーはパスワードを作成できません。
i012k34KmeIer567 +
そこで、式を次のように変更しました
(?=^.{10,}$)(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[+#<>;.,:|\\-@*!\"§$%&/()=?`´])(?i)(?!.*meier)(?-i).*$
asp:RegularExpressionValidator
そしてそれをとしてに追加しましたValidationExpression
。
残念ながら、そうすると、パスワードを追加するときにブラウザでエラーが発生します。
"SyntaxError: invalid quantifier"
ブラウザに表示される問題のあるコードは次のとおりです。
function RegularExpressionValidatorEvaluateIsValid(val) {
var value = ValidatorGetValue(val.controltovalidate);
if (ValidatorTrim(value).length == 0)
return true;
**var rx = new RegExp(val.validationexpression);**
var matches = rx.exec(value);
return (matches != null && value == matches[0]);
}
の線"**"
は問題のある線です。
私もすでに試しRegEx.IsMatch
ましたが、そこで正規表現が機能します。誰かが私がこれを解決する方法を知っていますか、または誰かが私が間違っていることを教えてもらえますか?
どんな助けでも大歓迎です!:)そして、私が十分にうまく説明していないことを説明したかどうか、遠慮なく尋ねてください。