正常表达血压

时间:2013-02-16 22:17:06

标签: javascript regex

我有以下正则表达式来验证收缩压/舒张压形式的血压值:

\b[0-9]{1,3}\/[0-9]{1,3}\b

该表达式适用于允许多个非连续斜杠(/)的唯一缺陷。例如,它允许此2/2/2。我希望它只允许从1到999的数字格式,并斜杠,再次从1到999的数字。例如,83 / 23,1 / 123,999 / 9999,110 / 80等。可以有人给我一些帮助吗?

我发现的唯一其他表达is here^\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]?)$,但它无效。

BTW,我正在使用jquery。

感谢。

4 个答案:

答案 0 :(得分:11)

使用^$匹配字符串的开头和结尾:

^\d{1,3}\/\d{1,3}$

通过这样做,您可以强制匹配的字符串完全该表单。

答案 1 :(得分:1)

不要使用\b字边界,因为斜杠算作字边界。

使用^和/或$可能是您最简单的解决方案。不幸的是,如果你的输入是一个字符串或句子的一部分,或者在一行中出现不止一次等等,你就会有更多的想法。

答案 2 :(得分:0)

扩展Blender的答案,这里是一个简单的检查,以格式验证BP值:120/80:

if(/^\d{1,3}\/\d{1,3}$/.test(120/80)) {
    console.log("BP Valid");
} else {
    console.log("Invalid BP");
}

答案 3 :(得分:0)

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

这是正确的,另一个有一个额外的\