问题标签 [ng-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
230 浏览

angularjs - 自定义电子邮件的自定义 ng 模式表达式

我只想验证特定类型的电子邮件。所以我知道我需要使用 ng-pattern 表达式来进行自定义验证。我浏览了 Angular 文档,但我不明白如何使用它。

我正在寻找的解决方案类似于,例如,我希望用户在注册时只使用“anychar mix with num @gmail.com”作为电子邮件。

我想过的尝试,但我知道这不好。我已经在@gmail.com 之后修复了它会匹配但在字符或数字混合之前如何做?

我的测试样本:

你能指导我这个吗?

谢谢 !

0 投票
4 回答
27229 浏览

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

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

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

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

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

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

我应该如何解决这个问题?有人请帮助我。

0 投票
1 回答
2338 浏览

javascript - ng-pattern 正则表达式错误:[$parse:lexerr] 词法分析器错误

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

我在下面收到控制台错误,但它有效!:

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

这是指令的js

})(角度);

这是我如何使用它;

0 投票
1 回答
5153 浏览

regex - 正则表达式只允许数字和一个点 - 例如它不应该允许 1.1

我希望我的小时输入字段只允许使用2nd小数点后的数字(只有一个点的数字)。

我同样使用了这个表达式,/^[0-9]+(\.[0-9]{1,2})?$/这允许1.1.不应该被允许

0 投票
1 回答
37 浏览

javascript - 从服务中获取 ng-patten 作为变量

您好,我正在运行一个需要跨页面进行大量表单验证的应用程序,因此我试图从我在控制器中使用的服务中获取验证模式。

这里的问题是当我输入正确的电子邮件地址时,ng-pattern 的反应方式不正确。

这是一个plunker,这是表单的代码

这是 app.js 代码

我认为问题可能是当角度呈现输入标签内的模式时,它会使其转义反斜杠

我已经尝试在服务中添加双反斜杠以使角度渲染正确,但它仍然无法正常工作。有任何想法吗?

0 投票
2 回答
2300 浏览

angularjs - 使用 ng-pattern 验证字符串

我想要一个 ng-pattern 表达式来验证 AngularJS JavaScript 中的文本框。此文本框的内容必须至少包含一个字母字符,但也可以包含任意数量的数字和/或特殊字符。

例子:

  1. a1234$这是可以接受的(因为存在“a”)
  2. 123%这是不可接受的
  3. abc它是可以接受的
  4. 56456a它是可以接受的
  5. 123$%^abc它是可以接受的
0 投票
2 回答
40 浏览

angularjs - 正则表达式,AngularJS 验证

我正在使用这种模式来限制用户只使用最多 5 位小数的数字,但它只有在用户输入 ' , ' 作为小数点时才有效,但我想让用户可以插入 ' 。' 同样,代码:

0 投票
1 回答
159 浏览

javascript - 实数的 ng-pattern 正则表达式

这更多是出于我自己的好奇心。我有一个可行的解决方案,但我很好奇是否有人对为什么一种解决方案有效而另一种无效。

我需要一个正则表达式来验证用户是否输入了有效数字。一些例子:

87

887.65

-87

-87.65

我的第一次尝试是这样的:

除了接受诸如“7x”、“1a”、“89p”之类的字符串外,它工作得很好。我的新解决方案如下,它似乎工作得很好:

第二个(注意“+”)稍微简洁一些,但我不明白为什么第一个接受字母而第二个不接受。有人看到我错过了什么吗?

0 投票
0 回答
37 浏览

regex - ng-pattern 在验证中不接受“@”特殊字符

NET MVC、HTML 5 和 Angularjs,我在密码字段验证中使用 ng-pattern 时遇到问题。这是我的模式

我需要验证 passwoerd 字段必须包含至少 8 个字符,并且包含字母数字和至少 1 个特殊字符。当我在密码字段中使用 @ 作为特殊字符时,错误提示使用至少一个特殊字符。正则表达式模式不将 @ 视为特殊字符。

我还在这个组中包含了@符号!@#$%^&*在上述模式中,尽管它在我的 MVC 页面中给出了错误。

0 投票
1 回答
314 浏览

angularjs - 在 ng-pattern 中绕过 ^ 和 $ 的默认包装

我从 API 获取我的正则表达式,它们通常以 ^ 开头并以 $ 结尾(例如^-?[0-9]+$)。只需将正则表达式作为字符串放入 ng-pattern 就会得到 a Lexer Error,因为 Angular 默认在字符串上添加 ^ 和 $ 。

来自Angular API 参考

  • 如果表达式的计算结果为 RegExp 对象,则直接使用 this。
  • 如果表达式的计算结果为字符串,则在将其包装为 ^ 和 $ 字符后,它将被转换为正则表达式。例如,“abc”将转换为 new RegExp('^abc$')。

好吧,让我们尝试将正则表达式字符串转换为正则表达式对象,我想。所以我尝试了这个:

但这会导致另一个错误:

如何让我的正则表达式与 ng-pattern 一起使用?最好不要从正则表达式中删除 ^ 和 $ 。