我有一个值为6个字符的变量,我需要检查字符是否有3个字母和3个数字。唯一的问题是如何做到这一点。
答案 0 :(得分:1)
function isValid(str){
return /[a-z]{3}[0-9]{3}/i.test(str)
}
答案 1 :(得分:1)
对于变量值:
function isValid(str){
return /[a-z]{3}[0-9]{3}/i.test(str)
}
var items = ["abc123", "geese", "foobar", "aso812"]
for(var i = 0;i < items.length;i++){
item = items[i];
alert(isValid(item));
}
对于变量名:
var obj = {
abc123: "foo",
a123bc: "bar"
}
for (var item in obj){
alert(isValid(item.toString()));
}
function isValid(str){
return /[a-z]{3}[0-9]{3}/i.test(str)
}
答案 2 :(得分:0)
function hasThreeLetters(str) {
return !!(''+str).match(/^[a-z]{3}$/i);
}
var x = 'abc';
hasThreeLetters(x); // returns true
注意:!!
转换调用.match()
的结果,如果字符串与正则表达式匹配则为数组,如果不匹配,则为null,为布尔值。 (''+str)
将str
转换为字符串(如果它不是一个字符串),这样您就可以在其上调用.match()
。