这个正则表达式
/^\d{1,6}(?:\.\d{0,2})?$/
将用户限制为仅6位数。
答案 0 :(得分:2)
假设您只是指任意数字后跟任意单个字符后跟2位数字,请使用:
/^\d+(?:.\d{0,2})?$/
如果0没问题,那么:
/^\d*(?:.\d{0,2})?$/
我认为你实际上是在试图找到货币价值(美元和美分),而这可能就是这样:
/^\d*(?:\.\d{0,2})?$/
答案 1 :(得分:2)
你的正则表达式将它限制为1-6位数,然后是可选的0-2小数。
要删除限制,请移除{1,6}
并替换为+
并将其设为可选,请换入(...)?
:
/(^\d+(?:\.\d{0,2})?$)?/
这使得输入(如果提供)仍然需要小数点前至少1位数。
答案 2 :(得分:1)
要使第一部分与一个或多个数字匹配,您可以将其更改为/^\d+(?:.\d{0,2})?$/
。
你对'可选'的意思有点混乱,所以我不确定在那里建议什么。