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

regex - 如何在角度js范围内给出正则表达式模式

我有一个看起来像的输入字段

它工作正常并按预期显示验证。我只是想将这种模式移动到 angularjs 的范围内以获得更整洁的形式。我已经尝试过使用这种语法:$scope.sftpValidate="/sftp://.+/";ng-pattern="sftpValidate". 但这根本不能验证模式。我试图给 as$scope.sftpValidate=/sftp://.+/;$scope.sftpValidate=sftp://.+;。但这些显示语法错误。我在哪里失踪?

0 投票
12 回答
203992 浏览

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

我正在尝试使用 ng-pattern 指令验证 angularJs 中的电子邮件 id 字段。

但我是 AngularJs 的新手。用户输入错误的电子邮件 ID 后,我需要立即显示错误消息。

我下面的代码正在尝试解决。帮助我使用 ng-pattern 来获得正确的结果。

0 投票
1 回答
3228 浏览

javascript - 为范围内的数字动态创建 ng-pattern 的正则表达式

我有一个类型为 number 的输入表单字段,我试图让 Angular 验证(到目前为止这看起来很棒),但是我似乎无法获得正确的语法来动态创建正则表达式以应用于限制 ng-pattern用户可以在 json 调用后传递给控制器​​的最小值和最大值范围内的数字。

这是快速和有用的:

仅用于数字的 ng-pattern 将接受 angular.js 中的“-”之类的字符

所以我最初在 ng-pattern 上设置了它并且它可以工作,但允许在最小和最大范围之外的数字:

但是,我需要即时制作正则表达式并使其成为一个范围,所以我尝试了但没有取得多大成功:

显然,我不是 RegEx 专家。

任何帮助表示赞赏。

提前致谢!

0 投票
2 回答
239 浏览

regex - 用于检查重复字符的电子邮件正则表达式

我正在使用正则表达式验证电子邮件地址。我想测试以下条件:

名称最少 3 个字符,符号 @,域第一部分最少 3 个字符,一个点,不超过 3 个重复字符

我尝试了这个正则表达式,除了最后一种情况外,它在所有情况下都可以正常工作。

它不检查点(。)之后的重复字符(任何字符)

不好:test@test。ccccom , test@test.coooom

好的:test@test.com

不知道我的 RE 的最后一部分有什么问题。

任何输入将不胜感激。

0 投票
0 回答
2056 浏览

angularjs - 一个输入上的多个 ng 模式

我想使用单个输入框按索引(0、1 等)或按完整哈希进行搜索。下面的正则表达式工作正常,但如果我有一个有效的哈希并按索引搜索,反之亦然,结果不是我想要的。有没有更好的方法来解决这个问题而无需两个输入?理想情况下,如果一个模式匹配,我希望按钮 2 被禁用,如果另一个模式匹配,按钮 1 被禁用,并将我的正则表达式分成两种不同的模式。这可能吗?我的方法是否明智?

0 投票
1 回答
478 浏览

javascript - ng-pattern 未第二次验证

我有一个多页(视图)注册表单,在视图 3 上我有一个带有 ng-pattern 的输入来评估邮政编码。问题是当我切换视图然后使用 ng-pattern 重新访问视图时,输入变得无效。

关于为什么这变得无效的任何想法?

0 投票
1 回答
5176 浏览

javascript - AngularJS ng-pattern 在电话号码的正则表达式上抛出错误

我在文本字段上使用 ng-pattern 来验证加拿大电话号码:

但是 AngularJS 会抛出这个错误:

语法错误:标记“?” 不是表达式 [^(?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$] 从 [?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$]。

我对其进行了测试,并在几个不同的在线正则表达式编辑器(如Rubular )中进行了尝试,它似乎完全有效。我正在动态创建字段,因此在 ngRepeat 中的指令中像这样设置 ng-pattern。

如果我将其更改为硬编码的正则表达式,它不会引发任何错误:

但后来我把它改成了简单得可笑的东西:

这有效,因此不能动态创建字段并且仅与正则表达式相关。

0 投票
2 回答
2067 浏览

regex - 带有或在文本框内的AngularJS ng-pattern

我需要将输入框限制为接受数字或某个字符串模式

这似乎并不完全有效,我可以添加 555f 这将是我的 ng-model 的有效值

我如何限制它以匹配数字或我的字符串模式?

http://jsfiddle.net/DaleS/dv7vuecz/

0 投票
1 回答
2501 浏览

regex - 将 ng-pattern 与 ng-model 解析/格式化一起使用

我试图通过同时使用 ng-pattern 和 ng-model 解析来真正喜欢角度输入。我放入 ng-pattern 的正则表达式在 regex101.com 上运行良好,甚至将其登录到我的应用程序中也运行良好。然而,当在 ng-pattern 中使用它时,它说我的输入是无效的,尽管它不应该是。我想知道 ng-pattern 什么时候做它的事情与 ngModel.$parsers/ngModel.$formatters 什么时候做他们的事情有关,因为我可以看到它导致它失败。这是一些代码:

这是 ngModel 解析指令:

这是我的控制器中的正则表达式:

这是我观点的相关部分:

时间以entry秒为单位,因此格式化程序将其置于 0:00:000 格式。然后我希望 ng-pattern 会启动并说是!有效的!但我想知道它是否在解析之前 time 属性仍为 0.000 格式时正在运行。

0 投票
1 回答
737 浏览

angularjs - AngularJs 指令表达式 ID 和 ng-pattern 不起作用

使用带有 ng-pattern 的表单输入指令。当指令上的 ID 是字符串时它可以工作(即显示错误),但当 ID 是表达式时它会失败(即永远不会显示错误)。伪代码:

作品

不起作用(myVar = "foo")

Chrome Inspected HTML(工作/不工作完全相同)

假设这是因为当一切都连接好时,表达式 ID 是未定义的,但不知道如何修复。提前致谢!