使用正则表达式的主要有match,exec,test
1、正则表达式方法test测试给定的字符串是否满足正则表达式,返回值是bool类型的,只有真和假。
var user_code = $("input[name='vuser_code']").val();
var code= /[a-zA-Z0-9_]{6,16}$/;
if(!code.test(user_code)){
$.messager.alert('系统提示', "账号只可以为数字、字母、'_'!", 'warning');
}
return;
2、正则表达式方法exec测试给定的字符串是否满足正则表达式,返回匹配到的字符串,如果没有匹配的则返回null,和test基本一致,如果需要获取匹配的各个子字符串,可以使用下标的方式。
var text="index.aspx?test=1&ww=234";
var re = /\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
var result= re.exec(text);
3、match其实是字符串的方法,但参数确是一个正则表达式
var text="index.aspx?test=1&ww=234";
var re = /\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}/;
var result= text.match(re);
function test(){
var match = new Array();
var user_code = document.getElementById("user_code").value;
var code= /[a-zA-Z0-9_]{6,16}$/;
var test = code.test(user_code); //test 测试给定的字符串是否满足正则表达式,返回值是bool类型
var exec = code.exec(user_code); //exec 测试给定的字符串是否满足正则表达式,返回匹配到的字符串,如果没有匹配的则返回null
var match = user_code.match(code); // match是字符串的一个方法 ,但是其参数是一个正则表达式,并将包含查找的结果作为数组返回
alert("test-->" + test);
alert("exec-->" + exec);
for(var i=0; i<match.length;i++){
alert(match.length);
alert("match-->" + match[i]);
}
}