Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 血压正则表达式_Javascript_Regex - Fatal编程技术网

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]?)$