【问题标题】:Restricting few special characters like %,& and " in input field by ng-pattern通过 ng-pattern 在输入字段中限制少数特殊字符,如 %、& 和 "
【发布时间】:2017-03-16 11:27:00
【问题描述】:

我有一个密码,它应该是至少 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 &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>

【问题讨论】:

    标签: angularjs angularjs-ng-pattern


    【解决方案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])(?=.*[!@#$^*)(._-])(?=.*[^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>
    

    【讨论】:

    • 您好,这行得通。但是当你输入 & 和 $ 时,它同时接受。而它不应该允许 &。这就是我的观点。
    猜你喜欢
    • 2012-04-24
    • 2018-11-07
    • 2023-03-09
    • 2019-08-18
    • 1970-01-01
    • 2018-10-30
    • 2017-12-17
    • 2018-12-27
    • 1970-01-01
    相关资源
    最近更新 更多