JS正则表达式方法

时间:2022-11-20 21:06:14


使用正则表达式的主要有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]);

}

}