标签: angularjs-ng-pattern

如何根据一定的标准在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万
查看次数

具有双引号的正则表达式的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不应与提供的模式匹配

在其中,ng-pattern我们可以选择指定字段应匹配特定的模式。

我们如何指定它不匹配指定的模式?

例,

<input type="text" ng-pattern="/[*|\":<>[\]{}`()';@&$]/" />
Run Code Online (Sandbox Code Playgroud)

在这里,我不想字段匹配模式。相反,如果模式匹配,我想显示错误。

javascript regex angularjs angularjs-ng-pattern

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

澳大利亚手机号码正则表达式验证需要在号码之间留有空格

我需要验证手机号码

  • 以 04 开头的第一个文本输入
  • 应该是总共 10 位数字,包括 04(例如:0412345678)

我的输入字段在下面

<form name="uploadForm">
<input type="tel" name="MobileNumber" id="MobileNumber" data-ng-model="ApplicationData.MobileNumber" required maxlength="14" data-ng-pattern="/^(0?4[0-9]{8}/\s)$/">
<span data-ng-show="uploadForm.MobileNumber.$error.pattern">Please enter a valid mobile number.</span>

<input type="tel" name="Number" id="Number" data-ng-model="ApplicationData.Number" required maxlength="14" data-ng-pattern="/(^1300\d{6}$)|(^1800\d{6}$)|(^0[2|3|7|8]{1}[0-9]{8}$)|(^04\d{2,3}\d{6}$)/">

<span data-ng-show="uploadForm.Number.$error.pattern">Please enter a valid mobile number.</span>

</form>
Run Code Online (Sandbox Code Playgroud)

有谁可以帮帮我吗?

javascript regex angularjs angularjs-ng-pattern

3
推荐指数
2
解决办法
6748
查看次数

ng-pattern regex错误:[$ parse:lexerr] Lexer错误

我有这个作为我的正则表达式模式

(^([Aa][Ss])[0-9]{8})|(^6[0-9]{7})
Run Code Online (Sandbox Code Playgroud)

我在下面收到控制台错误,但可以正常工作!:

libraries-c8d65edf41.js:22505 Error: [$parse:lexerr] Lexer Error: Unexpected next character  at columns 1-1 [^] in expression [(^([Aa][Ss])[0-9]{8})|(^6[0-9]{7})].
Run Code Online (Sandbox Code Playgroud)

http://errors.angularjs.org/1.5.2/ $ parse / lexerr?p0 = Unexpected%20nextharacter%20&p1 = s%201-1%20%5B%5E%5D&p2 =(%5E(%5BAa%5D% 5BSs%5D)%5B0-9%5D%7B8%7D)%7C(%5E6%5B0-9%5D%7B7%7D)

关于如何摆脱控制台错误的任何想法?谢谢。

这是指令html

<div class="input">
<div data-ng-class="{'input-group': label}">
    <div class="input-group-addon"
        data-ng-if="label">
        {{label}}
        <span class="required"
            data-ng-if="required && isEditable">
            *
        </span>
    </div>
    <div class="input-group-addon required"
        data-ng-if="!label && required && isEditable">
        *
    </div>
    <div class="form-control"
        title="{{object[key] || 'N/A'}}"
        data-ng-if="!isEditable">
        <span>{{object[key] || 'N/A'}}</span>
    </div>
    <div class="form-control editable"
        title="{{object[key] || 'N/A'}}"
        data-ng-if="isEditable && !isEditing"
        data-ng-click="edit()">
        <span>
            <a …
Run Code Online (Sandbox Code Playgroud)

javascript regex angularjs ng-pattern angularjs-ng-pattern

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

正则表达式:匹配两个条件之一?

嗨,我对正则表达式了解不多。但是我在使用 angularJs 的表单验证中需要它。

下面是要求

输入框应仅在以下任一情况下接受

(1) 前 2 个字母 alpha + 6 个数字

或者

(2) 8 个数字

以下是一些正确的输入:-

(1)SH123456 (2)12345678 (3)sd456565

我试过data-ng-pattern="/(^([a-zA-Z]){2}([0-9]){6})|([0-9]*)?$/",它在上述两种情况下都可以正常工作,但它仍然接受像 S2D3E4F5 这样的字符串,也可能是许多其他组合。

我做错了什么我无法找到它。

任何帮助都是可观的!!!

谢谢

javascript regex angularjs angularjs-ng-pattern

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