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

angularjs - AngularJS 1.3 模式验证绑定不起作用

在过去的几个版本中,我一直在使用带有 AngularJS 的 Regex 模式验证,并且效果很好。

我的应用程序要求验证模式由范围属性公开,相应的 AngularJS 验证指令绑定到该范围属性。在 v1.3 之前,它看起来像这样:

现在将 AngularJS 更新到 v1.4(绕过 v1.3),我发现上述方法不再有效。查看 v1.3的迁移说明,我发现这是预期行为,需要一种新方法,如下所示:

但是,我根本无法让它工作。如果我将验证模式内联(在 HTML 输入元素内)它工作正常,但是当移动到范围对象并绑定到patternorng-pattern指令时,不会发生验证。

这是一个演示问题的 JSFiddle

请问有什么建议吗?

0 投票
1 回答
1041 浏览

angularjs - ng-pattern 不匹配正确的正则表达式

我正在使用表单来获取用户详细信息。在我的姓名输入中,我只需要字母字符、空格和撇号。所以我创建了表单输入

但是,在我的表单中,如果我输入连字符或下划线字符,它仍然被视为有效输入。我做错了什么?

0 投票
1 回答
556 浏览

regex - 角度 ng-pattern 匹配任何非单词、非空格、非数字不起作用?

模式是:
/[A-z0-9]+/

出于某种原因,这个注入角度的 html 没有按照我期望的方式运行。我期望发生的是,一旦用户输入非单词、非数字、非空格字符,输入就会变得无效,所以 $form.name.$valid 应该是假的。

相反,只要你输入的内容包含字母、数字或空格,输入变为 $valid 就变为真。
所以:
lkajskdjf<.?{}
是有效的

.,.,..,{}{][].,
无效。

.,.,..,{}{][].,\
是有效的。

?>?./..,./9k
有效。

kjkljd lkjsdf 90
有效。

唯一应该有效的是最后一个......我对ng-pattern的理解显然是错误的,只要输入的字符与ng-pattern中的正则表达式匹配,输入才有效。

这里发生了什么?
为什么我期望的行为不是我得到的行为?

0 投票
1 回答
182 浏览

angularjs - Angular 模式适用于 plunker,但不适用于本地

有人可以向我解释一下吗!!!,它是相同的代码,但在 plunker 工作中,但在本地不是。在 ng-pattern 或 pattern html5 中,为什么??????

第一个图像是我的本地服务器,我放了“011.11”。这对我来说是一个错误,因为我需要点前两位数和点后两位数,但模式验证不起作用。

第二张图片是 plunker,我放了“011.11”,就可以了。

Plunker 代码

结果

在此处输入图像描述

我的代码

结果

在此处输入图像描述 验证不起作用

我将反斜杠放在点模式之前,但仍然无法正常工作。

问题是......,为什么在 plunker 工作而不是在本地工作?

0 投票
1 回答
312 浏览

angularjs - 在 AngualurJs 中使用 ng-pattern 进行电子邮件验证时出错?

我正在使用以下 ng-pattern 来验证电子邮件

我的电子邮件字段代码如下:

但我收到以下错误

  • 标签 () 中文本 (]+(.[^) 的位置无效。
  • 开始标记 () 未正确关闭,应为“>”。

请,任何建议。

0 投票
2 回答
461 浏览

html - 角电话模式验证

有没有办法以两种形式验证电话号码?我想验证以“+”开头的数字和不带“+”的电话。例如,它应该传递数字 +238472636 和 193785626。

0 投票
1 回答
1054 浏览

javascript - Angular - 表单控件 ngPattern 来检查字母和数字?

我正在用 Angular 编写一个表单,并且我有一个标准要求我需要检查该标准要求输入仅包含字母和数字,并且第一个字符不能是数字。有什么方法可以在 Angular 中轻松检查这一点。我知道 ngPattern 存在,但我不确定它是否可以扩展到这种情况。任何人都知道在 ngPattern 或控制器中格式化它的最佳方法吗?任何线索将不胜感激!

0 投票
0 回答
45 浏览

angularjs - ngPattern 在 ngForm 内拒绝所有输入

我有一个ngRepeat填充表单,但 form.input.$error.pattern 为真(输入与RegExp不匹配)与第一个输入的文本输入中的任何内容。对于 form.input.$error.required 之后的所有输入,即使输入文本中存在某些内容,它也保持为真。.ng-pristine、.ng-touched、.ng-dirty 等类仍然按预期运行。

服务定义正则表达式:

注入控制器:

控制器:功能($范围,Appform){

该对象在 ngForm 内的ngRepeat中使用:

怎么了?

0 投票
1 回答
145 浏览

angularjs - 将 Angular JS 1.2.x 升级到 1.4.x 后,ngPattern 不起作用

将 Angular JS 库升级到 1.4.1 后,使用 angular ngPattern 的模式验证不起作用。请参阅下面的代码。

Plunker

提前致谢..

0 投票
3 回答
938 浏览

regex - 相对文件路径最大大小和最大文件夹名称大小的正则表达式

对于大多数文件系统,Linux 的最大文件名长度为 255 个字符,最大路径为 4096 个字符。如果文件夹名称超过 255,则无法创建。

/^[a-z0-9\s_@-/.]+$/i 是一个很好的正则表达式(我还需要路径中的特殊字符),但我需要修改它,以便将字符串长度限制为 4095文件夹名称长度为 255。

所以限制它是没有问题的 /^[a-z0-9\s_@-/.]{1-4095}$/i ,但这仍然不能解决最大文件夹名称大小问题。

Sample that should validate:
/whatever/thisisnotapornstash/StillNot255CharactersButTheNextFolderIs/BPLrmwQRjm‌​twIGEMDcgGk1BCRY6ZkKzsHoWqJNzGxCzlGTSZkfOei0QD2S3bGfqSMJMPxuvgHhUJotNgh3hGDYD01n5‌​6JiZy32JygaHHDLQbGWtkbFJy5BrMP5s6eL6V8Kcft71CxHZUMEEJ2LbYExYtPxaWuQ9USUCxbt7wTIjA‌​LoLN6aHW0GovD5euXWsYuOsqvyGuzJqjaohM9FFNmMz7ul0R4HxzTWWQqCZ8hp6O2yipRTs5k4RmGCTLf‌​nY/

到目前为止我想出的是: data-ng-maxlength="4095" (这解决了文件路径的最大长度) data-ng-pattern=/^[a-z0-9\s_@/.-] (这是我应该将两个斜杠之间的最大字符数限制为 255。)

这是我测试它的地方:https ://regex101.com/r/kV7dL2/3