问题标签 [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 回答
97 浏览

angularjs - 正则表达式模式重复和 ng-invalid

我有这样的模式

最后一部分 {4,5} 至少为 4 且不超过 5。但是当我在末尾键入超过 5 个整数时,表单不会更改为 ng-invalid

这适用于http://www.regexr.com/

知道为什么我的输入允许超过 5 个字符吗?

0 投票
1 回答
357 浏览

angularjs - 如何防止 AngularJS 第一次验证表单控件

在我的表单中,我有一些输入控件,它们与控制器的范围数据绑定。基于用户的选择,我通过使用 ng-model 来限制选定的项目来输入控件。

我正在使用 ng-maxlength 、minlength 、ng-pattern 和其他内置验证指令来验证这些输入。

用于突出显示无效值的类。

但是当用户想要添加新产品时,我会创建一个空对象并将其添加到控制器的范围数据中。在第一次创建新项目时,我不想用红色突出显示每件事,因为一切都是空的。

有什么方法可以让我在他们的焦点上突出显示无效输入,然后在使用之前将其显示为无效,然后在其中放入一些有效值。

当使用选择任何现有数据时,我正在验证该运动的控制。

谢谢

0 投票
1 回答
1343 浏览

html - Angular ng-pattern:textarea 格式正则表达式

我想控制页面上 textarea 中用户输入的形式。输入必须看起来完全像这样:

在此处输入图像描述

这意味着一行中只有三个值,第一个和第二个值之间以及第二个和第三个值之间的分号。

现在我正在使用这个正则表达式来验证它:

它不能 100% 工作,因为它会验证输入,例如

作为有效。问题是新行和下一个 value1 的开头。似乎直到在 value1 之后写入第一个分号,value1 仍然附加到前一行中 value3 的末尾。我应该如何更改正则表达式以禁用此功能并将每个新的不完整行标记为无效?

我创建了一个 JS 小提琴来演示: https ://jsfiddle.net/tw2y5omc/3/

0 投票
2 回答
473 浏览

angularjs - 如何根据先前保存的值检查输入数值,如果它不是相同的值,则显示错误消息

注意:total 是根据用户输入动态更新的数值

0 投票
1 回答
670 浏览

angularjs - 在 AngularJS 中使用 ng-pattern 进行文本输入验证

我想在 AngularJs 中使用 ng-pattern 目录验证文本输入。文本输入可以有多个 IP 地址和 IP 范围,用,(逗号)分隔。

例如;

有人可以帮我解决这个问题。

0 投票
1 回答
4768 浏览

angularjs - ng-pattern 密码匹配

嗨,我正在创建一个注册表单,我想使用 Angular 检查用户输入的密码是否匹配。我所有的验证工作(必需,最小和最大长度),但我总是得到密码不匹配的错误。

我的代码如下

我在想问题可能出在ng-pattern="/^{{password_1}}$/"但我不知道如何调试它所以我可以看到 ng-parent 的值。

任何帮助都感激不尽!安德烈亚斯。

0 投票
0 回答
274 浏览

javascript - AngularJS ng-pattern 正则表达式

我有以下接受价格作为值的输入字段。

此模式("/[$,.]\d*$/")使$25.34@@@C%34正确的输入字段无效,但是只有 25 也变得无效,因为它没有 $ 或 , 或。我如何使它成为可选的?

我需要$25.0025有效但不是$25.00$%#$%%@@

要求:任何数字$, .都有效

我非常感谢有关此正则表达式的任何建议。

0 投票
3 回答
26066 浏览

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

我是 Angular 的新手,无法让 ng 模式基于 REGEX 验证电子邮件地址。事实上,电子邮件的其他默认角度验证也会改变行为,并且只有在我插入 ng-pattern 时整个字段为空时才会显示错误。最初尝试使用指令和控制器,但发现 ng-pattern 可以达到(理论上)验证电子邮件的相同效果,因此决定使用它。

我使用了几种 REGEX 模式并阅读了有关 ng-pattern 的信息,例如:ng-pattern 的正则表达式验证表单验证简单的表单验证和许多其他链接,但没有任何作用。任何人都可以弄清楚我需要做什么才能使事情正常进行吗?

0 投票
2 回答
959 浏览

javascript - 更改另一个输入时强制进行 ngPattern 验证

我有一个 Angular JS 应用程序,其中有一个必填的电话号码字段,以及一个国家/地区选择字段。国家选择默认为美国。When the selected country is United States or Canada, I want to validate the phone number field with a domestic phone number pattern, but when any other country is selected, I don't want to validate the pattern for the phone number.

为了实现这个期望的功能,我使用了一个类似的解决方案肮脏的方式)。我不是检查requireTel布尔值,而是检查是否countryCodeUSACAN确定是否使用我的电话号码模式进行验证。

此解决方案有效,但前提是您更改国家/地区后更改电话号码。例如,如果您选择了美国,并输入一个长的国际电话号码,如+441234567890,它使用国内电话号码验证并显示无效模式。但是当我将国家更改为巴哈马时,它应该不再使用国内电话号码验证,并且无效模式消息应该消失。但是,在我更改电话号码之前,仍然会显示无效模式消息。一旦我更改了电话号码,消息就会消失。

发生这种情况的原因是,当更改国家/地区选择时,不会再次对电话号码字段执行 ng-pattern 验证。有没有办法在国家改变时强制重新评估 ng-pattern 验证?

请参阅下面的片段以重现该问题。

0 投票
0 回答
286 浏览

angularjs - 英国邮政编码 Ng 模式 Angularjs 不工作

我已经在我ng-pattern的角度 js 上尝试了多个 reg ex 表达式,我已经在在线正则表达式测试器上测试了这个模式,它工作正常

/^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][‌​0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) ?[0-9][A-Za-z]{2})$/i

我只希望邮政编码包含大写字符,并且邮政编码需要一个空格。

但是当我在我的应用程序中使用它时,它允许小写和空格。这是我不想要的。任何想法的家伙。