Javascript正则表达式以确保字符串与格式x:y匹配
我试图解析一个字符串,它有两个数字,两个数字都可以在1到3位之间,中间有一个冒号。以下是一些例子: “1:1”Javascript正则表达式以确保字符串与格式x:y匹配,javascript,regex,Javascript,Regex,我试图解析一个字符串,它有两个数字,两个数字都可以在1到3位之间,中间有一个冒号。以下是一些例子: “1:1” “1:12” “12:1” “123:12” 另外,给定的字符串也可能无效,我需要检测它是否无效。到目前为止,我尝试确保字符串有效的方式如下:.match(/[1-9]\:[1-9]/)。但后来我注意到,如果输入这样的字符串,这将不起作用:“characters12:4characters”。如何验证字符串以确保其格式为x:y 任何帮助都将不胜感激 编辑:开头包含0的数字有效,但可能未
“1:12”
“12:1”
“123:12” 另外,给定的字符串也可能无效,我需要检测它是否无效。到目前为止,我尝试确保字符串有效的方式如下:
.match(/[1-9]\:[1-9]/)代码>。但后来我注意到,如果输入这样的字符串,这将不起作用:“characters12:4characters”
。如何验证字符串以确保其格式为x:y
任何帮助都将不胜感激
编辑:开头包含0的数字有效,但可能未给出
你可以用
/^\d{1,3}:\d{1,3}$/
见
详细信息
^
-
\d{1,3}
-一个、两个或三个数字(\d
是一个匹配任何数字的字符类(也可以写成[0-9]
字符类),{1,3}
是一个匹配量化子模式连续出现1到3次的字符类)
:
-冒号
\d{1,3}
-一位、两位或三位数字
$
-
10:100有效吗?我知道010:100
不是,对吗?是的,x可以是1到3位数字,y也可以。那么字符串的格式应该是x:y
010:100
也是有效的。那么您需要/^\d{1,3}:\d{1,3}$/
[1-9]
不允许零,这是故意的吗?