解决问题1:js中正则表达式效验问题
解决方式一:
使用test方法:
var nameobj =document.getElementById("inputname"); var strname=nameobj.value; var strnamep=/^[a-zA-Z][a-zA-Z0-9_]{5,29}$/; console.log(strnamep.test(strname));
控制台输出结果:true
注意:
1)使用此方法时,正则表达式不需要使用“”双引号括着;
2)正则表达式.test(需要验证的值);
解决方式二:
使用字符串.match(验证字符串):
var emailobj =document.getElementById("inputemail");
var stremail=emailobj.value;
var stremailp="^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
var s=stremail.match(stremailp);
if(stremail!=null){
if(s!=null&&s[0]==stremail){
//window.alert("匹配成功");
return "邮箱符合要求!成功!";
}else{
//window.alert("匹配失败");
return "邮箱不符合要求!失败!";
}
}else{
//window.alert("失败");
return "邮箱未输入!";
}
注意:
1)使用match方法时,是字符串方法。:需验证的字符串.match(正则表达式字符串);
2)返回的是数组,所以我们可以用返回的数组的第一个元素与需验证的字符串进行对比。