Javascript 血压正则表达式
我使用以下正则表达式验证收缩压/舒张压形式的血压值:Javascript 血压正则表达式,javascript,regex,Javascript,Regex,我使用以下正则表达式验证收缩压/舒张压形式的血压值: \b[0-9]{1,3}\/[0-9]{1,3}\b 该表达式的唯一缺陷是允许多个非连续斜杠(/)。例如,它允许此2/2/2。我希望它只允许1到999的数字格式,斜杠,以及1到999的数字格式。例如,83/23、1/123、999/999、110/80等。有人能给我一些帮助吗 我发现的另外一个表达方式是:^\b(29[0-9][0-9][0-9][1]?[0-9][0-9]?)\\/(29[0-9][0-9][0-9][0-9][01]?[0
\b[0-9]{1,3}\/[0-9]{1,3}\b
该表达式的唯一缺陷是允许多个非连续斜杠(/)。例如,它允许此2/2/2
。我希望它只允许1到999的数字格式,斜杠,以及1到999的数字格式。例如,83/23、1/123、999/999、110/80等。有人能给我一些帮助吗
我发现的另外一个表达方式是:^\b(29[0-9][0-9][0-9][1]?[0-9][0-9]?)\\/(29[0-9][0-9][0-9][0-9][01]?[0-9][0-9]?)$
,但它不起作用
顺便说一句,我正在使用jquery
谢谢。使用
^
和$
匹配字符串的开头和结尾:
^\d{1,3}\/\d{1,3}$
通过这样做,您可以强制匹配的字符串完全采用该形式。不要使用
\b
单词边界,因为斜杠算作单词边界
使用
^
和/或$
可能是最简单的解决方案。不幸的是,如果您的输入是字符串或句子的一部分,或者在一行中出现多次,等等,您需要做更多的思考。在Blender的答案上展开,下面是一个验证BP值的简单检查,格式为:120/80:
if(/^\d{1,3}\/\d{1,3}$/.test(120/80)) {
console.log("BP Valid");
} else {
console.log("Invalid BP");
}
这是正确的,另一个有一个额外的\你应该在两端使用锚<代码>插入符号(^)和
美元($)
。您如何使用该正则表达式?你能展示一些代码吗?@Rohit:如果血压是整个字符串,如果要匹配^
和$
(除非我误解了什么,这是可能的,因为我对RegEx还比较陌生),那么使用RegEx匹配它就没有意义了。jQuery没有区别。这是为了与Javascript一起使用。还有,为什么要用正则表达式呢?在/
上拆分并测试数组长度,如果在2处有效,如果两者都在1-999之间。@RohitJain答对了,你应该发布一个答案。。当使用插入符号和$Nit时,\b边界是不必要的:这将仍然接受0/999
,这在技术上是无效的。。更不用说各种荒谬的价值观了。有时正则表达式只是所需内容的一部分。欢迎使用!请阅读,然后
^\b(29[0-9]|2[0-9][0-9]|[01]?[0-9][0-9]?)\/(29[0-9]|2[0-9][0-9]|[01]?[0-9][0-9]?)$