我有一个像这样的变量var time = "12h 55m";
我只允许在字符串中使用H,h,M,m
字符。如果我有这样的事情var time = "12hk 55m";
那么它会产生一个错误。我如何使用正则表达式来验证这一点。”
寻找这样的东西if (stringToTest.match(/^[a-zA-Z0-9]*$/))
最佳答案
尝试
/^\d{1,2}[hm]\s+\d{1,2}[hm]$/i
它匹配2位数字,后跟h或
m
,后跟一个或多个空格,后跟2位数字,后跟h或m以下将匹配
"12h 55m".match(/^\d{1,2}[hm]\s+\d{1,2}[hm]$/i)
"12m 55h".match(/^\d{1,2}[hm]\s+\d{1,2}[hm]$/i)
"2m 55h".match(/^\d{1,2}[hm]\s+\d{1,2}[hm]$/i)
"12m 5h".match(/^\d{1,2}[hm]\s+\d{1,2}[hm]$/i)
这些不会
"122h 555m".match(/^\d{1,2}[hm]\s+\d{1,2}[hm]$/i)
关于javascript - 从a到z的正则表达式验证(某些字符除外),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43487767/