2017-03-16 9 views
0

パスワードは最低8文字でなければなりません。& "、%.I指定のng-patternとrestrictedいくつかの記号。私が&と入力しても受け入れています。このng-Patternは通常動作します。 &と$を入力すると両方を受け入れます。一方、それは許可しないでください&。 thats my point%、&のような少数の特殊文字の制限と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])(?=.*[[email protected]#$^*)(._-])(?=.*[^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 &amp; 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> 

答えて

1

これをチェックしてください。これは私のためにうまくいきます。&と%を受け入れません。

<!DOCTYPE html> 
<html ng-app="myapp"> 

    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
    </head> 
    <body> 
    <div ng-controller="myCtrl"> 
    <form name="myForm" ng-submit="onSubmit()"> 
    <input type="text" ng-model="price" name="price_field" 
      ng-pattern="/(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$^*)(._-])(?=.*[^a-zA-Z._-])(?=.*[^a-zA-Z._-])/" required> 
    <span ng-show="myForm.price_field.$error.pattern">Not a valid password</span> 
    <span ng-show="myForm.price_field.$error.required">This field is required!</span> 
    <input type="submit" value="submit"/> 
    </div> 
    </form> 
    <script> 
    angular.module('myapp',[]) 
    .controller('myCtrl',function($scope){ 

    }) 
    </script> 
    </body> 

</html> 
+0

こんにちは。しかし、&と$を入力すると、両方を受け入れます。それは&を許さないはずですが。それは私の主張です。 –

+0

コードを編集しました。それは私のために働いています。 –

関連する問題