我正在尝试验证字符串,前提是它的前5个字符是数字,最后5个字符是字母:
我尝试过:
var userId = "12345abcde";
// Get First and Second Five Characters
var firstFive = userId.substring(0, 5);
var secondFive = userId.substring(5, 10);
// get Global Letter and Nummers
var aStr = /[a-z, A-Z]/g;
var aNum = /[0-9]/g;
var c = userId.match(aNum);
// Try firstFive first...
if (firstFive === c) {
alert('yes');
} else {
alert('nop');
}
此警告nop
。
这是因为firstFive
是字符串而c
是对象吗?我的想法在哪里出错?
实例:http://jsfiddle.net/xe71dd59/1/
任何提示? 提前谢谢!
答案 0 :(得分:7)
尝试
/^[0-9]{5}.*[a-z]{5}$/i.test("12345abcde")
答案 1 :(得分:1)
match
返回结果数组,如果没有找到则返回NULL。
var c = firstFive.match(aNum);
if(c!=null)
{
if(c.length==5)
{
alert("Yes");
}
}
答案 2 :(得分:0)
尝试这样做:
var userId = "12345abcde";
var result = /^[0-9]{5}.*[a-z]{5}$/i.test(userId);
if (result) {
alert('yes');
}else{
alert('nop');
}