支持多种货币格式的正则表达式
本文关键字:正则表达式 格式 货币 支持 | 更新日期: 2024-10-23 16:25:16
我有一个正则表达式,需要验证文本是否为支持的货币格式。
^('$|€|Fr.|£|kr|R?)'s*((([1-9](,'d{3}){3})|([1-9]'d{0,2}(,'d{3}){0,2})|('d{1,10}))('.'d{1,2})?)'s*('$|€|Fr.|£|kr|R?)$
我支持以下内容:
US Dollar (10000.00 or 10,000.00 or $10,000.00)
Euro (10000.00 or 10,000.00 or €10,000.00)
Francs (10000.00 or 10'000.00 or Fr.10'000.00)
Pounds (10000.00 or 10'000.00 or £10,000.00)
Kroner (10000,00 or 10'000.00 or 10.000,00 kr)
Rand (10000.00 or 10,000.00 or R10,000.00)
我更新了它以支持以上所有格式。
^('$|€|Fr.|£|kr|R?)'s*(((([1-9](,'d{3}){3})|([1-9]'d{0,2}(,'d{3}){0,2})|('d{1,10}))('.'d{1,2})?)|((([1-9](.'d{3}){3})|([1-9]'d{0,2}(.'d{3}){0,2})|('d{1,10}))(','d{1,2})?)|((([1-9](''d{3}){3})|([1-9]'d{0,2}(''d{3}){0,2})|('d{1,10}))('.'d{1,2})?))'s*('$|€|Fr.|£|kr|R?)$
它看起来很好,但我不知道为什么当我有这些格式时,它也接受小数点后3位。
100,000.012
200.000,002
100'000.001
我只接受小数点后两位。
我认为您需要删除?在''d{1,2}中)?