Javascript ng模式上只允许使用带有单个逗号或句点的数字
我正在尝试验证angular中的数字文本框。只接受数字、单个逗号或单个点。字母和多个点或逗号无效 我的正则表达式是:Javascript ng模式上只允许使用带有单个逗号或句点的数字,javascript,angularjs,regex,Javascript,Angularjs,Regex,我正在尝试验证angular中的数字文本框。只接受数字、单个逗号或单个点。字母和多个点或逗号无效 我的正则表达式是: /\d{1,}[,.]{0,1}\d{0,}/ 这里有一些匹配和不匹配的值:如果需要 有效值: 1111 1.1111 111.111 111,11 1,1 1 1d11e 1..1 1.,1 1,,1 111.11.1 1,111.11 无效值: 1111 1.1111 111.111 111,11 1,1 1 1d11e 1..1 1.,1 1,,
/\d{1,}[,.]{0,1}\d{0,}/
这里有一些匹配和不匹配的值:如果需要
有效值:
1111
1.1111
111.111
111,11
1,1
1
1d11e
1..1
1.,1
1,,1
111.11.1
1,111.11
无效值:
1111
1.1111
111.111
111,11
1,1
1
1d11e
1..1
1.,1
1,,1
111.11.1
1,111.11
但不管出于什么原因,angular文本框似乎认为所有内容都是无效的,除了一个空文本框。我很困惑为什么:
<input type="text" ng-model="idNumber" ng-pattern="customPattern" />
// in .js
$scope.customPattern = '\d{1,}[,.]{0,1}\d{0,}';
还有什么我需要补充的吗
谢谢
ps:我在角度1.5倍上
^在行首断言位置
\d+匹配一个或多个数字
?:[,.]\d+?(可选)匹配以下内容
[,.]匹配集合中的字符,或。
\d+匹配一个或多个数字
$Assert行末尾的位置
注:
{1,}与+
{0,1}与?
{0,}与*
^在行首断言位置
\d+匹配一个或多个数字
?:[,.]\d+?(可选)匹配以下内容
[,.]匹配集合中的字符,或。
\d+匹配一个或多个数字
$Assert行末尾的位置
注:
{1,}与+
{0,1}与?
{0,}与*
与m标志一起用于联机IDEs@ctwheels我正要发布准确的解决方案,但你抢先告诉我:@ctwheels。。。真管用!我花了大约20分钟想知道ng模式是否有一些模糊的规范-u-你能回答这个问题吗?这样我可以在允许的情况下接受吗?谢谢。首先,“\d{1,}[,.]{0,1}\d{0,}”是一个字符串而不是RegExp文本,因此\d应该是\\d。联机时与m标志一起使用IDEs@ctwheels我正要发布准确的解决方案,但你抢先告诉我:@ctwheels。。。真管用!我花了大约20分钟想知道ng模式是否有一些模糊的规范-u-你能回答这个问题吗?这样我可以在允许的情况下接受吗?谢谢。首先,“\d{1,}[,.]{0,1}\d{0,}”是一个字符串而不是RegExp文本,因此\d应该是\\d。