标签: ng-pattern

如何使用ng-pattern验证angularJs中的电子邮件ID

我试图使用ng-pattern指令验证angularJs中的电子邮件ID字段.

但我是AngularJs的新手.一旦用户输入错误的电子邮件ID,我就需要显示错误消息.

我下面的代码是试图解决的.帮助我使用ng-pattern来获得正确的结果.

<script type="text/javascript" src="/Login/script/ang.js"></script>
<script type="text/javascript">
    function Ctrl($scope) {
        $scope.text = 'enter email';
        $scope.word = /^[a-z]+[a-z0-9._]+@[a-z]+\.[a-z.]{2,5}$/;
    }
</script>
    </head>
<body>
    <form name="myform" ng-controller="Ctrl">
        <input type="text" ng-pattern="word" name="email">
        <span class="error" ng-show="myform.email.$error.pattern">
            invalid email!
        </span>
        <input type="submit" value="submit">
    </form>
</body>
Run Code Online (Sandbox Code Playgroud)

regex email angularjs angularjs-directive ng-pattern

57
推荐指数
4
解决办法
19万
查看次数

如何根据一定的标准在angularjs中使用正则表达式添加密码验证?

我想验证用户输入的密码是否符合以下条件:

密码长度至少应为8个字符,并且应包含一个数字,一个字符和一个特殊字符.

为此我使用了以下正则表达式:

^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
Run Code Online (Sandbox Code Playgroud)

我在angularjs代码中尝试了这个表达式,如下所示:

<md-input-container class="md-block" style="margin-top:0px;">
            <label>Password</label> <md-icon
                md-svg-src="/images/icons/ic_lock_black_24px.svg" class="name"></md-icon>
            <input type="password" ng-model="newUser.userPassword"
                name="userPassword" required 
                ng-pattern="^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$">
            <div
                ng-messages="registerForm.userPassword.$error">
                <div ng-message="pattern">Password should be atleast 8 characters long
                    and should contain one number,one character and one special
                    character</div>
                <div ng-message="required">Password should be atleast 8 characters
                    long and should contain one number,one character and one special
                    character</div>
            </div>
            </md-input-container>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,当密码字段为空并且焦点丢失时,将显示错误消息.如果用户输入的密码不符合我提到的标准,则不会显示错误消息.

我该如何解决这个问题?有人请帮帮我.

javascript validation angularjs ng-pattern angularjs-ng-pattern

9
推荐指数
1
解决办法
2万
查看次数

角度js中的条件ng-模式

有没有办法在angularjs中实现条件ng-pattern

ng-pattern="(myForm.exipration.$dirty ? ('/^\d{2}[/]\d{4}$/') : '')"
Run Code Online (Sandbox Code Playgroud)

我尝试过如上所述,但没有帮助.

angularjs ng-pattern

7
推荐指数
2
解决办法
1万
查看次数

angularJS ng-pattern无效

请看看plunker.

http://plnkr.co/edit/DuTFYbLVbPkCIvRznYjG?p=preview

其中ng-pattern regEx不适用于输入文本字段.

只需要正确应用所需验证的地方.

HTML:

<body ng-controller="tableController">
    <form name="test">
        <div ng-repeat="model in models">
            <span ng-bind="model.caption"></span>
            <div ng-form name="frm{{$index}}">
                <input name="input{{$index}}"
                    ng-model="data[model.name]"
                    ng-disabled="model.isDisabled"
                    minlength="{{model.minlength}}"
                    maxlength="{{model.maxlength}}"
                    ng-show="model.isShow"
                    ng-pattern="model.pattern"
                    ng-required="true" />
                <br />
                {{data[model.name]}}
            </div>
        </div>
    </form>
    <br />
    <br />
</body>
Run Code Online (Sandbox Code Playgroud)

JS:

angular.module("app", []).controller("tableController", function ($scope) {
        $scope.regEx = "/^\\d+$/";
        $scope.data = {};
        $scope.data.one = 234;
        $scope.data.two = 32432;
        $scope.models = [
            { name: "one", caption: "cOne", isDisabled: false, isShow: true, minlength: 2, maxlength: 10, pattern: "/^\d+$/" },
            { name: "two", …
Run Code Online (Sandbox Code Playgroud)

validation angularjs ng-pattern

6
推荐指数
1
解决办法
2万
查看次数

带有ng-pattern的Angularjs ui-mask

下面的代码不起作用..

<input type="text"
       class="form-control input-sm"
       placeholder="hh:mm:ss"
       name="hhmmss"
       ng-model="data.hhmmss"
       ui-mask="99:99:99"
       ng-pattern="/^([0-2]|0[0-9]|1[0-9]|2[0-3]):?[0-5][0-9]:?[0-5][0-9]$/"
/>
Run Code Online (Sandbox Code Playgroud)

当输入值是20:00:00,然后formName.hhmmss.$error.patterntrue.

如果删除ui-mask:

<input type="text"
       class="form-control input-sm"
       placeholder="hh:mm:ss"
       name="hhmmss"
       ng-model="data.hhmmss"
       ng-pattern="/^([0-2]|0[0-9]|1[0-9]|2[0-3]):?[0-5][0-9]:?[0-5][0-9]$/"
    />
Run Code Online (Sandbox Code Playgroud)

当输入值是20:00:00,然后formName.hhmmss.$error.patternfalse.

我如何使用正则表达式ng-pattern

regex angularjs ng-pattern angularjs-ui-utils

5
推荐指数
1
解决办法
6929
查看次数

如何使用ng-pattern

我有一个简单的文本输入,我只想允许浮点数和整数(注意:玉)

input.form-control(type="text", ng-model='usd', ng-pattern="nums",ng-change='convert_to_btc()', placeholder="USD")
Run Code Online (Sandbox Code Playgroud)

然而它不起作用,我总是可以在输入中插入任何字符(我是否需要做更多才能显示某些内容?例如,如果它不正确则需要红色边框?或者应该只是那些字符甚至无法输入?)模式是一个正则表达式,因此不是一个字符串,所以应该没关系???

这是控制器:

app.controller("AppCtrl", function AppCtrl($scope, $http, $interval ) {
    //lots of other stuff
    $scope.nums = /^\-?\d+((\.|\,)\d+)?$/; //note no string, it's a  regex
}
Run Code Online (Sandbox Code Playgroud)

这是生成的HTML.这可能是问题吗?生成的HTML实际上有一个字符串,而不是一个正则表达式!?

<input type="text" ng-model="usd" ng-pattern="/^\-?\d+((\.|\,)\d+)?$/" ng-change="convert_to_btc()" placeholder="USD" class="form-control ng-dirty ng-valid-parse ng-touched ng-invalid ng-invalid-pattern">
Run Code Online (Sandbox Code Playgroud)

regex angularjs ng-pattern pug

5
推荐指数
1
解决办法
2万
查看次数

具有双引号的正则表达式的ng-pattern无法正确转义

我对^ [^ \ ./:* \?\“ <> \ |] {1} [^ \ /:* \?\” <> \ |] {0,254} $的正则表达式进行ng模式验证它基本上测试了文件路径和限制中的无效字符。但是当我将ng-pattern指定为

 ng-pattern = "^[^\\\./:\*\?\"<>\|]{1}[^\\/:\*\?\"<>\|]{0,254}$"
Run Code Online (Sandbox Code Playgroud)

,ng模式会以不正确的方式显示正则表达式。正确实现此目标的任何帮助

javascript regex angularjs ng-pattern angularjs-ng-pattern

5
推荐指数
1
解决办法
5735
查看次数

使用ng-pattern验证AngularJS中的电子邮件

我是Angular的新手,无法根据REGEX获取ng-pattern来验证电子邮件地址.实际上,电子邮件的其他默认角度验证也会更改行为,并且如果在插入ng-pattern时整个字段为空,则仅显示错误.最初尝试使用指令和控制器,但发现ng-pattern可以实现(理论上)验证电子邮件的相同效果,因此决定使用它.

我已经使用了几种REGEX模式并阅读了关于ng-pattern的内容,例如:来自ng-pattern 表单验证的正则表达式验证简单表单验证和许多其他链接但没有任何作用.任何人都可以弄清楚我需要做些什么才能让事情发挥作用?

  <form name="userForm" novalidate>
    <div class="row">
                    <div class="large-12 medium-12 small-12 columns">
                        <label>Username</label>
                            <input type="email" name="username" placeholder="johnsmith@ashburton.com" ng-model="user.username" ng-maxlength="100" ng-model-options="{ updateOn: blur }" ng-pattern = "/^(?("")("".+?(?<!\)""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'*\+/=\?\^`\{\}\|~\w])*)(???<=[0-9a-z])@))(?([)([(\d{1,3}\.){3}\d{1,3}])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-??z0-9][\-a-z0-9]{0,22}[a-z0-9]))$/" required />
                            <div class="error-container" ng-show="userForm.username.$dirty && userForm.username.$invalid">
                              <small class="error" ng-show="userForm.username.$error.required">
                                     Your email is required.
                              </small>
                              <small class="error" ng-show="userForm.username.$error.email">
                                     Please input a valid email.
                              </small>
                              <small class="error" ng-show="userForm.firstname.$error.maxlength">
                                    Your email cannot be longer than 100 characters
                              </small>                        
                            </div>
                    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

forms validation angularjs ng-pattern

4
推荐指数
1
解决办法
2万
查看次数

ng-pattern只允许字母,数字,点,下划线和短划线

你怎么允许使用输入ng-pattern只:letters,numbers,dot,underscoredash ( . _ -)

已经尝试了以下几个

更新:

$scope.validationPattern = '/^[a-zA-Z\d\-\_]+$/';

<input ng-model="model" type="text" ng-pattern="{{validationPattern}}" />
Run Code Online (Sandbox Code Playgroud)

regex angularjs ng-pattern

4
推荐指数
1
解决办法
2万
查看次数

日期不适用于IE9的Angular ng-pattern

我试图在视图中使用ng-pattern来使用低于日期(mm/dd/yyyy)的验证模式.

 ng-pattern="/^(\d{4})-(\d{2})-(\d{2})$/"
Run Code Online (Sandbox Code Playgroud)

一旦我开始输入日期,验证错误就会出现,并且在有效日期(例如10/15/1988)之后仍然存在

我尝试使用var传递它通过控制器(如下所示)但行为相同:

在控制器中:

  $scope.myPattern = "/^(\d{4})-(\d{2})-(\d{2})$/";
Run Code Online (Sandbox Code Playgroud)

在视图中:

  ng-pattern="{{myPattern}}"
Run Code Online (Sandbox Code Playgroud)

注意:这两种方法都不适用于IE9

javascript regex angularjs angularjs-directive ng-pattern

3
推荐指数
1
解决办法
1万
查看次数