6

収縮期/拡張期の形式で血圧値を検証するために、次の正規表現があります。

\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]|2[0-9][0-9]|[01]?[0-9][0-9]?)\\/(29[0-9]|2[0-9][0-9]|[01]?[0-9][0-9]?)$、しかしそれは機能しません。

ところで、私はjqueryを使用しています。

ありがとう。

4

4 に答える 4

13

とを使用^$て、文字列の最初と最後を一致させます。

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

そうすることで、一致した文字列をその形式に正確に合わせることができます。

于 2013-02-16T22:28:48.860 に答える
1

\bスラッシュは単語の境界としてカウントされるため、単語の境界は使用しないでください。

^および/またはの使用は、$おそらく最も単純な解決策です。残念ながら、入力が文字列または文の一部である場合、または1行に複数回出現する場合など、より多くのことを考える必要があります。

于 2013-02-16T22:31:24.380 に答える
1

Blender の回答を拡張して、120/80 の形式で BP 値を検証するための簡単なチェックを次に示します。

if(/^\d{1,3}\/\d{1,3}$/.test(120/80)) {
    console.log("BP Valid");
} else {
    console.log("Invalid BP");
}
于 2016-01-18T11:21:52.753 に答える