我是正则表达式概念的新手。
我试图制作货币正则表达式,其中
金额应该是格式化的数字字符串,使用 ',' 作为千位分隔符和 '.' 为小数点分隔符。
金额应精确到小数点后两位
金额应该是一个非零的正值
我试过这个
test1= /^\d{1,3}?([,]\d{3}|\d)*?\.\d\d$/;
test1.test(1,100.00);
Run Code Online (Sandbox Code Playgroud)
但它不能满足我的要求。建议我如何实现这一点。
如果你想禁止0.00值,并允许没有数字分组符号的数字,你可以使用
/^(?!0+\.0+$)\d{1,3}(?:,\d{3})*\.\d{2}$/.test(your_str)
Run Code Online (Sandbox Code Playgroud)
查看正则表达式演示
说明:
^ - 字符串的开始(?!0+\.0+$) - 如果输入为零则匹配失败的负前瞻\d{1,3} - 1 到 3 位数字(?:,\d{3})* - 0+ 个逗号序列,后跟 3 位数字\. - 一个文字点\d{2} - 2 位数字(小数部分)$ - 字符串的结尾。 /^(?!0+\.0+$)\d{1,3}(?:,\d{3})*\.\d{2}$/.test(your_str)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3150 次 |
| 最近记录: |