正则验证,match()与test()函数的区别?
test是RegExp的方法,参数是字符串,返回值是boolean类型。
match是String的方法,参数是正则表达式,返回值是数组。
案例:
1 //判断日期类型是否为YYYY-MM-DD格式的类型
2 function IsDate(){
3 var str = document.getElementById('str').value.trim();
4 if(str.length!=0){
5 var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
6 var r = str.match(reg);
7 if(r==null)
8 alert('对不起,您输入的日期格式不正确!'); //请将“日期”改成你需要验证的属性名称!
9 }
10 }
1 //判断输入的字符是否为中文
2 function IsChinese()
3 {
4 var str = document.getElementById('str').value.trim();
5 if(str.length!=0){
6 reg=/^[\u0391-\uFFE5]+$/;
7 if(!reg.test(str)){
8 alert("对不起,您输入的字符串类型格式不正确!");//请将“字符串类型”要换成你要验证的那个属性名称!
9 }
10 }
11 }