我正在使用与英国货币匹配的正则表达式(即£13.00,£9,999.99和£12,333,333.02),但不允许负值( - £2.17)或零值(£0.00或0).
我试图自己创造一个,但我有一个正确的混乱!
任何帮助都很受欢迎.
谢谢!
这样做(主要是......)
/^£?[1-9]{1,3}(,\d{3})*(\.\d{2})?$/
Run Code Online (Sandbox Code Playgroud)
利用^和$确保字符串中没有否定字符或其他字符,并假定将使用逗号.英镑符号和便士是可选的.
编辑:意识到你说非零所以用[1-9]取代了第一个\ d
更新:有人指出上述不符合£0.01.下面的改良会,但现在有一个复杂的水平,这里很可能是更好的测试/ [1-9] /,然后再上面-没有基准它.
/^£?(([1-9]{1,3}(,\d{3})*(\.\d{2})?)|(0\.[1-9]\d)|(0\.0[1-9]))$/
Run Code Online (Sandbox Code Playgroud)
简要说明:
你需要添加到正则表达式中的便士(上面的零)的分数越多,效率就越低.
| 归档时间: |
|
| 查看次数: |
5063 次 |
| 最近记录: |