Javascript 将正则表达式中的组标记为可选
在发送表单之前,我需要在表单上用javascript验证一些值。仅接受数字和一个逗号或点。逗号或点是可选的。 例如,值“111”、“1.0”、“1,0”是有效的。值“1”、“0”、“1..”或“1..0”无效。所以,正确的值类似于浮点数 换句话说,Javascript 将正则表达式中的组标记为可选,javascript,regex,Javascript,Regex,在发送表单之前,我需要在表单上用javascript验证一些值。仅接受数字和一个逗号或点。逗号或点是可选的。 例如,值“111”、“1.0”、“1,0”是有效的。值“1”、“0”、“1..”或“1..0”无效。所以,正确的值类似于浮点数 换句话说,数字[可选:一个逗号或点]数字是正确的字符串 我编写了以下regexp:/^([0-9]+)[.|,]{0,1}[0-9]+$/。我工作正常,但有一种情况除外——当值是个位数时。 如何使我的regexp正确工作?您可以使用/^([0-9]+)([,][
数字[可选:一个逗号或点]数字
是正确的字符串
我编写了以下regexp:/^([0-9]+)[.|,]{0,1}[0-9]+$/
。我工作正常,但有一种情况除外——当值是个位数时。
如何使我的regexp正确工作?您可以使用/^([0-9]+)([,][0-9]+)?$/
强制一个点或逗号后跟数字,使整个(点/逗号数字)部分成为可选部分
另外,[.|,]
匹配点、逗号或管道(|
)<代码>[,]只匹配点和逗号
(您以前的正则表达式不适用于单个数字的原因是,您的模式需要一些东西来匹配第一个[0-9]+
和点/逗号后的第二个[0-9]+
。您也可以执行^([0-9]+)[,]?[0-9]*$
。您可以使用/^[0-9]+([,][0-9]+)?$/
其中我强制一个点或逗号后跟数字,使整个(点/逗号数字)部分成为可选部分
另外,[.|,]
匹配点、逗号或管道(|
)<代码>[,]只匹配点和逗号
(您以前的正则表达式不适用于单个数字的原因是,您的模式需要一些东西来匹配第一个[0-9]+
和点/逗号后的第二个[0-9]+
。您也可以执行^([0-9]+)[,]?[0-9]*$
。您可以使用/^[0-9]+([,][0-9]+)?$/
其中我强制一个点或逗号后跟数字,使整个(点/逗号数字)部分成为可选部分
另外,[.|,]
匹配点、逗号或管道(|
)<代码>[,]只匹配点和逗号
(您以前的正则表达式不适用于单个数字的原因是,您的模式需要一些东西来匹配第一个[0-9]+
和点/逗号后的第二个[0-9]+
。您也可以执行^([0-9]+)[,]?[0-9]*$
。您可以使用/^[0-9]+([,][0-9]+)?$/
其中我强制一个点或逗号后跟数字,使整个(点/逗号数字)部分成为可选部分
另外,[.|,]
匹配点、逗号或管道(|
)<代码>[,]只匹配点和逗号
(您以前的正则表达式不适用于单个数字的原因是,您的模式需要匹配第一个[0-9]+
和点/逗号后的第二个[0-9]+
。如果您愿意,您也可以执行^([0-9]+)[,]?[0-9]*$
。怎么样:
/^([0-9]+)([.,][0-9])?$/
我想你需要第一批帕伦人来抓捕。您可以使第二对不捕获。如何:
/^([0-9]+)([.,][0-9])?$/
我想你需要第一批帕伦人来抓捕。您可以使第二对不捕获。如何:
/^([0-9]+)([.,][0-9])?$/
我想你需要第一批帕伦人来抓捕。您可以使第二对不捕获。如何:
/^([0-9]+)([.,][0-9])?$/
我想你需要第一批帕伦人来抓捕。您可以使第二对不捕获。像您这样的Lokks答案也有效,如果将其完成为
/^([0-9]+)([,][0-9]+)?$/
。谢谢像您这样的lokk答案也有效,如果将其填写到/^([0-9]+)([,][0-9]+)?$/
。谢谢像您这样的lokk答案也有效,如果将其填写到/^([0-9]+)([,][0-9]+)?$/
。谢谢像您这样的lokk答案也有效,如果将其填写到/^([0-9]+)([,][0-9]+)?$/
。谢谢