我正在尝试查找格式为 abc1234 的字符串。我可以比较每个索引处的字符是字母还是数字并得到结果。而是写了一个模式匹配但没有成功。有人能知道我哪里出错了吗?
var clid = "mxv4013" ;
if(clid.match("/[a-z]{3}(?=[0-9]{4})/i") != null){
alert("success") ;
}
谢谢。
最佳答案
你不需要引号,JavaScript 有正则表达式:
var clid = "mxv4013" ;
if(clid.match(/[a-z]{3}(?=[0-9]{4})/i)){
alert("success") ;
}
您还可以删除 != null
检查 - match
将在成功时返回真值,在失败时返回假值。另外,look-ahead有点奇怪,可以使用/[a-z]{3}\d{4}/i
,或者,为了验证整个字符串,避免部分匹配,/^[a-z]{3}\d{4}$/i
.
关于javascript - 正则表达式匹配!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769599/