问题标签 [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 投票
2 回答
1053 浏览

javascript - ng-pattern 不适用于正则表达式

我的表单具有以下内联验证

但验证仅适用于required而不适用于pattern

这是小提琴

以下是正面匹配的几个示例:

0 投票
3 回答
2844 浏览

regex - 正则表达式验证每个单词的第一个字母在角度 js 中是大写的

我正在使用 angularjs。我想对我的姓名字段使用验证。我是正则表达式的初学者。我希望每个单词的第一个字母都应该是大写的。例如,Naveen Kumar 应该是有效的,而 Naveen kumar 是无效的。

我正在使用 ng-pattern 来验证名称字段。我应该使用什么正则表达式?感谢你的帮助。

0 投票
1 回答
2210 浏览

regex - 角度动态 ngPattern

我正在尝试实现动态 ngPattern。

当用户单击按钮或从下拉列表中选择一个值时,我的正则表达式会发生变化。

但由于某种原因,这似乎不起作用。下面是代码。

但是当我尝试这样的事情时,它会起作用。

我不确定为什么使用 new RegExp() 不起作用。我必须使用 new RegExp() 的原因是我在 JSON 响应中将其作为字符串获取。

0 投票
2 回答
3744 浏览

javascript - 数字输入中缺少前导零

我需要在数字输入字段中显示 00-09 之间整数的前导零。我正在使用 angularJS。

输入字段的视图/模板(抱歉 html 中的样式):

我的控制器:

此输入字段或两个输入字段的集合设置一个时间值(小时和分钟),该时间值存储为单个值(保持所需格式(HH:MM = ex=> 01:07))。ng-model 值($scope.timeHH & $scope.timeMM)在输入字段中不包含前导零。

在此处输入图像描述

我找到了这个问题的答案,但我无法让它工作。这是(答案)。

这是该指令的颂歌。它不会触发模糊或给出错误。任何人都可以看到结构或语法问题吗?

看法:

指令(捕捉输入字段上的模糊事件并避免前导零修剪)(放置在输入字段的控制器下(不在内部)):

0 投票
0 回答
428 浏览

javascript - ng-pattern 似乎不适用于具有隔离范围的指令

我有一个用于引导日期选择器小部件的简单指令“包装器”。

};

如果用户键入日期而不是使用日期选择器弹出窗口,则需要验证模板中的文本输入字段。它是必需的,并且必须采用 mmm-yyyy 格式。我将 ng-pattern 和 ng-required 传递给指令的隔离范围(inputRequired 和 validPattern)。html 看起来像:

正则表达式是:

在浏览器中为输入字段呈现的节点表明代码正在运行 - 这是来自 chrome 的呈现节点:

日期选择器的 2 路绑定的默认值为“Apr-2020”。我立即使用默认值获得“ng-invalid-pattern”。如果我删除该字段中的文本,它会更改为 ng-valid-pattern(奇怪)。我已经在 3 种不同的在线测试工具中测试了我的正则表达式,它看起来不错。我的 ng-required 工作,ng-model 工作,ng-class 按预期工作。是否有一些我缺少的角度怪癖?我正在使用另一个 ng-pattern 来验证货币字段,它工作正常,但不在隔离范围内。这可能是问题吗?任何帮助,将不胜感激!

谢谢

0 投票
1 回答
4876 浏览

regex - Angular ng-pattern 允许一个点

如何使用 Angular 允许文本输入、数字和一个点?

我在 html 上有这个:

但我只想允许一个点。

任何想法?

0 投票
2 回答
7899 浏览

angularjs - AngularJS动态ng模式不起作用

我在通过 ng-patter 验证表单时遇到问题。ng-pattern 验证取决于另一个下拉菜单。在下拉菜单中,我有两个值 A 和 B。对于每个值,我有不同的模式来验证。现在,我面临的问题是我可以根据值调用模式,但即使我根据模式输入了正确的信息,它仍然显示无效。有关更多详细信息,请查找以下代码以获取更多详细信息。

HTML 表单

当我更改下拉列表中的值时,我可以看到模式已更新,但无论我插入什么值,它总是失败。您能否检查并建议可能是什么原因以及如何解决该问题。

0 投票
1 回答
1003 浏览

angularjs - 自定义 notPattern 指令,如 ngPattern,但检查 RegExp 是否不匹配

我正在尝试编写一个类似于 ngPattern 的自定义 AngularJS 指令,但如果 R​​egExp匹配,该指令将无法验证。

根据ngPattern 指令的来源,我想出了:

这在我在属性中指定正则表达式源时有效,但我想允许RegExp直接使用对象,例如 ngPattern。

问题是表达式没有被评估。

这是一个示例 JSFiddle:http:
//jsfiddle.net/8Lk3pqep/1/

在此示例中,在文本字段中输入“abc”以外的任何内容将显示“Invalid per 'pattern'!”。我希望看到“每个 'notpattern' 无效!” 输入“abc”时,但仅当我输入“testRegExp”时才会出现,因此表明未评估属性值。

我究竟做错了什么?

我知道 notPattern 可以通过以下方式使用 ngPattern 来完成:

..但我想知道为什么自定义指令不评估表达式。

0 投票
1 回答
1206 浏览

javascript - 验证 A-Z0-9 的最大长度为 10,但允许用户输入空格(但最多跳过空格)

我想知道是否有一种简单的方法可以在表单文本字段上设置此验证,而无需创建自定义指令。

我需要验证{minlength: 2, maxlength: 10},用户可以输入 的任意组合[A-Z0-9\s],但只有数量A-Z0-9会达到最小和最大计数。

这可能吗?

我在想也许使用 ng-pattern 和一些神奇的正则表达式可能能够解决这个问题。如果 ng-pattern 匹配失败,只需要一条错误消息即可触发。

0 投票
1 回答
128 浏览

javascript - 不同的 ng 模式行为

设想

ng-pattern在一个项目中使用,我需要通过字符串连接动态生成正则表达式,这意味着最终结果是var regexp = "regexp"而不是var regexp = /regexp/.

问题

我知道这段代码有效:

但我需要能够使用这样的字符串:

问题

如何将动态生成的字符串正则表达式与 一起使用ng-pattern

普朗克

我准备了一个plunker,演示了三种不同的用法,ng-pattern其中只有文字正则表达式有效。如果有任何帮助,我将不胜感激。谢谢!