我有一个像这样的变量
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/