用可选的小数部分验证逗号分隔的数字
Regex to validate comma-separated numbers with optional fractional parts
使用JavaScript,我只需要接受数字和逗号。
我使用的正则表达式模式如下
var pattern = /^[-+]?[0-9]+('.[0-9]+)?$/;
我如何在上述模式中接受逗号,使3200
或3,200
或3,200.00
等值有效?
有一些类似的问题只是部分地处理了这个问题:
- 带逗号分隔符的数字的正则表达式验证(仅限没有小数部分的整数)
- 十进制数字正则表达式,其中小数后的数字可选(无逗号分隔,小数部分限制为1位)
- Javascript函数需要允许数字、点和逗号(点、逗号和数字可以任意顺序匹配)
使用以下正则表达式:
^[-+]?(?:[0-9]+,)*[0-9]+(?:'.[0-9]+)?$
参见regex demo
这里的基本变化是添加了(?:[0-9]+,)*
子模式,该模式匹配:
-
[0-9]+
- 1位或更多数字 -
,
-逗号
0次或更多次(感谢*
量词)。
我还使用了非捕获组,以便regex输出"更干净"。
如果您需要检查号码中是否有3位分组,请使用
^[-+]?[0-9]+(?:,[0-9]{3})*(?:'.[0-9]+)?$
查看另一个演示
这里,(?:,[0-9]{3})*
匹配0个或多个逗号和3位子字符串([0-9]{3}
)的序列。
{3}
是一个限制性限定词,与前面的子模式恰好匹配3次。
相关文章:
- Javascript-Regex,用于逗号分隔的字母数字
- 输入只允许6位数字,逗号分隔后,允许角js中的另外6位数字
- 需要Selenium IDE中逗号分隔值中的数字
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- 向Javascript输出中添加逗号分隔的数字
- javascript正则表达式,用于逗号分隔的数字重复
- 将字符串分隔成数字值
- Regex,用于匹配用逗号分隔的特定数字
- 如何使用css将数字格式化为逗号分隔
- 如何仅替换第一个数字(用连字符分隔)
- 如何在 JavaScript 中用逗号分隔的
- 正则表达式在开始时将字符串与(逗号分隔的)数字匹配,并拆分为数字和其余
- 对具有点分隔数字的属性的对象数组进行排序
- 向数字添加百分之一位,该数字可以逗号或句点分隔
- Javascript - 正则表达式,用于字母,数字,下划线逗号分隔的标签
- 在 JavaScript 中,括号中的数字/函数以逗号分隔
- 正则表达式 javascript 用于检查逗号分隔的数字
- 使用正/负整数和浮点数验证逗号分隔的数字
- 用于JavaScript验证逗号分隔数字的RegEx
- 用逗号分隔数字来分隔 flot 中的轴