我有一个密码,它应该是至少 8 个字符,带有字母数字和符号,除了 &,",% 。我给了 ng-pattern 并限制了几个符号。但是当我输入 & 时它也接受了。这个 ng-Pattern 通常有效。当您输入 & 和 $ 时,它同时接受。而它不应该允许 &。这就是我的观点
<div class="form-group fields col-xs-12 col-sm-6 col-md-4 col-lg-4" ng-class="{'has-error' : (submitted || tForm.password.$dirty || tForm.submitted) && tForm.password.$invalid }">
<input type="password" name="password" placeholder ="Password*" class="form-control1" autocomplete="off" ng-model="model.password" ng-minlength="8" ng-maxlength="20" required ng-pattern="/(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$^*)(._-])(?=.*[^a-zA-Z._-])(?=.*[^a-zA-Z._-])/" />
<div ng-show="!tForm.password.$error.required && (tForm.password.$error.minlength || tForm.password.$error.maxlength) && tForm.password.$dirty" class="help-block">Passwords must be between 8 and 20 characters.</div>
<div ng-show="!tForm.password.$error.required && !tForm.password.$error.minlength && !tForm.password.$error.maxlength && tForm.password.$error.pattern && tForm.password.$dirty" class="help-block">Must contain one lower & uppercase letter, number and one non-alpha character (except %,",")</div>
<div ng-show="(submitted && tForm.password.$error.required) " class="help-block">password is required.</div>
</div>