正则验证,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 }