Javascript 正则表达式也允许斜杠/&引用;使用现有正则表达式
我面临着在现有正则表达式中允许斜杠“/”的困难 下面是一个允许点和数字的现有正则表达式:Javascript 正则表达式也允许斜杠/&引用;使用现有正则表达式,javascript,regex,Javascript,Regex,我面临着在现有正则表达式中允许斜杠“/”的困难 下面是一个允许点和数字的现有正则表达式: val.match(/^[0-9]+(\.[0-9]{1,2})?$/) 我把它改成 val.match(/^[0-9]+([./][0-9\/]{1,2})?$/) 但是这一个不允许像1.5/384这样的数字同时出现点/周期和斜杠 有人能帮我吗?这应该可以满足您的要求: ^(\d+(?:\.\d{1,2})?\/?(?:\d+\.\d{1,2})?)$ 看到这个了吗 编辑:更正了它与1或1.5不匹配
val.match(/^[0-9]+(\.[0-9]{1,2})?$/)
我把它改成
val.match(/^[0-9]+([./][0-9\/]{1,2})?$/)
但是这一个不允许像1.5/384这样的数字同时出现点/周期和斜杠
有人能帮我吗?这应该可以满足您的要求:
^(\d+(?:\.\d{1,2})?\/?(?:\d+\.\d{1,2})?)$
看到这个了吗
编辑:更正了它与
1
或1.5
不匹配的事实。您可以在主图案部分后添加一个可选的非捕获组,以匹配1或0次出现的/
,后跟1或多个数字:
/^\d+(?:\.\d{1,2})?(?:\/\d+)?$/
^^^^^^^^^^
见
详细信息
-字符串的开头^
-1个或多个数字\d+
-可选的(?:\。\d{1,2})
序列,然后是1或2位数字
-可选的(?:\/\d+)
和1+数字序列/
-字符串结束$
/
后面的数字可以以与第一个数字相同的格式浮动:
/^\d+(?:\.\d{1,2})?(?:\/\d+(?:\.\d{1,2})?)?$/
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
也许你想要?是否要匹配
1/384
?如果没有,请使用。/
后面的数字可以是浮点数吗?是的,我也想匹配1/384。但是它不匹配1.5/384.6
。@Paul Etienne这不是必需的。那个数字是一个整数。@WiktorStribi你们知道“等一下,必须解决这个问题,它与1
不匹配。”。与1
和1.5
不匹配,但谁在乎…OP不在乎?或者这真的没有必要?哈哈,我不否认我在寻找一个如此成功的人,但我更希望我的答案是完全正确的:PSure,请不要重复我的答案。