Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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正则表达式以确保字符串与格式x:y匹配_Javascript_Regex - Fatal编程技术网

Javascript正则表达式以确保字符串与格式x:y匹配

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到3位之间,中间有一个冒号。以下是一些例子:

“1:1”
“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]
不允许零,这是故意的吗?