Javascript ng模式上只允许使用带有单个逗号或句点的数字

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,,

我正在尝试验证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,,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。