Regex 用于价格验证的正则表达式
需要具有以下内容的正则表达式:Regex 用于价格验证的正则表达式,regex,validation,Regex,Validation,需要具有以下内容的正则表达式: 小数点(.)前最多8位 小数点后最多4位 小数点是可选的 最大有效小数位数为小数点前8位,小数点后4位 所以9999999.9999 我尝试过的常规rexpression^\d{0,8}[.]?\d{1,4}$在123456789中失败 还有更多。表示如果小数点不可用,则取8位数以上 此处测试: 非常感谢 您可以尝试以下方法: ^\d{1,8}(?:\.\d{1,4})?$ 或 如果您不想将零作为第一个数字 如果需要,可以允许此操作:(.1234) 您可以将整个
^\d{1,8}(?:\.\d{1,4})?$
或
如果您不想将零作为第一个数字
如果需要,可以允许此操作:(.1234)
您可以将整个十进制设置为可选的以上任何一项都不适用于我。 只有这个对我有用
^([0-9]{0,2}((.)[0-9]{0,2}))$
1-(\$+[1-9])2-(\£+[1-9]) 您可以将此表达式用于完整的价格数字。我使用此表达式:
^[1-9]\d{0,7}(\.\d{1-4})$
^=字符串的开头
[1-9]=至少字符串必须以1到9之间的数字开头
\d{0,7}=可选或最大7乘以d(数字:介于0和9之间的数字)
()=创建一个类似子字符串的组
=需要一个
\d{1-4}=数字最多重复4次
$结束感谢您的快速响应!我发现.12345678的输入失败。它应该只需要.1234。@user2338652,如果您希望该值在小数点后最多4位。如果该值大于4,则不应接受该输入。这可能会导致舍入错误。如果输入与您的条件不符,则不接受该输入。和有效性=match@user2338652仅供参考,您接受的答案在
.123456789
.Hmm:)上也“失败”,但它失败了,但请查看答案已被修改,并在下面添加了一条注释。@user2338652当然,答案已修改,现在几乎与此答案的第一部分相同:)您需要在句点(点)之前加一个反斜杠:即(\。\d{1,4})?
否则,您将接受包含其他数字的任何字符。价格不能为负数?
^\d{0,8}(\.\d{1,4})?$
^([0-9]{0,2}((.)[0-9]{0,2}))$
^[1-9]\d{0,7}(\.\d{1-4})$