1
このRegExを使用して、入力されたパスワードを検証しています。私はtype="password"
入力でng-pattern
と一緒に正規表現を使用していAngularJS - 無効な正規表現
/(?=.*?\d)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z\d])/
:パスワードは、少なくとも1つの資本のアルファベット、1点の数と1つのシンボルを持っている必要があります。入力した場合は正常に動作します[email protected]
またはMike123*
。 Mike123***
を入力するときしかし、それは次のようなエラーがスローされます。
SyntaxError: Invalid regular expression: /^Mik123***$/: Nothing to repeat
正規表現は、ここで正常に動作します:https://regex101.com/r/j0O4aw/1。使用されているコード:
<div class="input_fieldholder">
<input type="password"
class="m-b-0 login_typefield"
placeholder="Password"
name="password"
ng-class="{ form_error: vm.formObject.password.$dirty && vm.formObject.password.$invalid }"
ng-model="vm.password"
ng-minlength="6"
ng-change="vm.onChangePassword()"
ng-pattern="/(?=.*?\d)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[^a-zA-Z\d])/"
required
ng-attr-autofocus="{{ vm.autoFocus }}">
<div class="text-left m-t-3">
<div ng-show="vm.formObject.password.$dirty && vm.formObject.password.$error.required" class="text-danger">{{ 'PASSWORD_REQUIRED_VALIDATION' | translate }}</div>
<div ng-show="vm.formObject.password.$dirty && vm.formObject.password.$error.minlength" class="text-danger">{{ 'PASSWORD_LENGTH_VALIDATION' | translate }}</div>
<div ng-show="vm.formObject.password.$dirty && vm.formObject.password.$error.pattern" class="text-danger">{{ 'PASSWORD_PATTERN_VALIDATION' | translate }}</div>
</div>
</div>
<div class="input_fieldholder">
<input type="password"
class="m-t-10 m-b-0 login_typefield"
placeholder="Confirm Password"
name="confirmPassword"
ng-class="{ form_error: vm.formObject.confirmPassword.$dirty && vm.formObject.confirmPassword.$invalid }"
ng-model="vm.confirmPassword"
ng-pattern="vm.password"
ng-change="vm.onChangePassword()"
required
compare-field-selector="[name='password']">
<div class="text-left m-t-3">
<span ng-show="vm.formObject.confirmPassword.$dirty && vm.formObject.confirmPassword.$invalid" class="text-danger">{{'PASSWORD_CONFIRM_VALIDATION' | translate }}</span>
</div>
</div>
この問題を解決するにはどうすればよいですか?
Gaé[email protected] –
は右です!あなたが実際に入力したパスワードが実際に一致する正規表現として扱われていることを示しています...私は角度を知らない... ng-patternはフレームワークから来ていますか、onChangePassword()でそれを使用していますか?後では、問題を特定できるようにコードを表示する必要があります。 – Salketer
'ng-pattern =" vm.password "'これはconfirmPassword入力フィールドの問題でした。それは必要ではなく、取り除くことができました。助けてくれてありがとう。 – abhim