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

£1,£1.00、1p

我不希望它允许£和p一起使用。我也不希望它允许多于1个小数。到目前为止,我有以下内容:

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


但是,这不能100%准确地工作。任何帮助或指导将不胜感激。谢谢

最佳答案

您可以尝试以下正则表达式:

^(?:\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)$

09-26 21:17