angularjs - 如何在angularjs中使用正则表达式

标签 angularjs validation

我试过这段代码..

<script>
  angular.module('emailExample', [])
    .controller('ExampleController', ['$scope', function($scope) {
      $scope.text = 'me@example.com';
    }]);
</script>
  <form name="myForm" ng-controller="ExampleController">
    Email: <input type="email" name="input" ng-model="text" required>
    <span class="error" ng-show="myForm.input.$error.required">
      Required!</span>
    <span class="error" ng-show="myForm.input.$error.email">
      Not valid email!</span>
    <tt>text = {{text}}</tt><br/>
    <tt>myForm.input.$valid = {{myForm.input.$valid}}</tt><br/>
    <tt>myForm.input.$error = {{myForm.input.$error}}</tt><br/>
    <tt>myForm.$valid = {{myForm.$valid}}</tt><br/>
    <tt>myForm.$error.required = {{!!myForm.$error.required}}</tt><br/>
    <tt>myForm.$error.email = {{!!myForm.$error.email}}</tt><br/>
  </form>

但在验证中遇到问题。假设我尝试在电子邮件中输入“a@a.c”,那么它不会显示任何错误。请帮我解决这个问题。

最佳答案

我在想你为什么不为此使用 ng-pattern。您可以制作一个正则表达式并放入 ng-pattern.

例子:

<form name="signupFrm">

    <input type="email", ng-pattern="emailPattern">

</form>

或者,

HTML:

    <div ng-class="{'has-error': signupFrm.email.$dirty && signupFrm.email.$invalid}">
        <input type="email" placeholder="Email" name="email" ng-pattern="emailPattern" required="required">
        <div ng-show="signupFrm.email.$dirty && signupFrm.email.$invalid || signupFrm.email.$error.pattern">
           <span ng-show="signupFrm.email.$error.pattern && signupFrm.email.$invalid " class="help-block"> should look like an email address</span>
           <span ng-show=" signupFrm.email.$error.required" class="help-block">can't be blank</span>
       </div> 
  </div>

JS:

$scope.emailPattern = /^([a-zA-Z0-9])+([a-zA-Z0-9._%+-])+@([a-zA-Z0-9_.-])+\.(([a-zA-Z]){2,6})$/;

关于angularjs - 如何在angularjs中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27664521/

相关文章:

regex - 通过正则表达式验证 CQ5 对话框

javascript - 为什么我的 $sce.trustAsHtml 内容呈现为纯文本?

javascript - 在一个 Controller ui-router 中的所有 $state.go() 事件之前运行检查

javascript - 从 JSON 对象数组返回特定​​对象

java - Spring 2.5 表单验证 - 如果调用 validator ,动态数据会丢失吗?

arrays - Mongoose 模式需要可以为空的数组

angularjs - 引用angularjs、firebase、angularfire中push生成的唯一id的名称

javascript - 从 javascript 触发 AngularJS 路由

asp.net - ASP.NET 中用于十进制验证的正则表达式

JQuery 验证插件 - SubmitHandler 语法