货币字段的正则表达式

时间:2013-09-10 11:49:35

标签: javascript regex expression

有人可以帮我写一个JavaScript正则表达式吗?我需要编写一个允许以下示例的字段:

£1,£1.00,1p

我不希望它允许£和p在一起。我也不希望它允许超过1小数。到目前为止,我有以下内容:

/^(\u00A3)?([0-9\.]+)p?$/ 

但这并不能100%准确地发挥作用。任何帮助或指导将非常感激。感谢

2 个答案:

答案 0 :(得分:2)

你可以试试这个正则表达式:

^(?:\u00A3([0-9]+(?:\.[0-9]{1,2})?)|[0-9]+p)$

regex101 demo

这将允许最多2dp的磅。如果您想允许更多内容,请改用+

^(?:\u00A3([0-9]+(?:\.[0-9]+)?)|[0-9]+p)$

另外,我没有为便士输入小数。如果您也想允许这些,您可以使用:

^(?:\u00A3([0-9]+(?:\.[0-9]{1,2})?)|[0-9]+(?:\.[0-9]{1,2})?p)$

答案 1 :(得分:1)

怎么样:

/^(\u00A3[0-9\.]+)|([0-9\.]+p)$/ 
相关问题