【www.bbyears.com--正则表达式】
本文实例讲述了JavaScript使用简单正则表达式的数据验证功能。分享给大家供大家参考,具体如下:
代码如下"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script type="text/javascript"language="javascript">
functioncheckName() {
varnameElement = document.getElementById("name");
//var regExp = /^(a-z)[^a-z\d_]/i;
varregExp = /[a-zA-Z\d_]/i;// \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
varregExp2 = /^[A-Za-z]/i;//匹配字符串开始位置为字母
varresultElement = document.getElementById("resName");
if(nameElement.value.match(regExp) && nameElement.value.match(regExp2) && nameElement.value.length >= 6) {
//匹配成功
//会员名为字母、数字、下划线组成,并且字母为开头,长度不小于6
resultElement.innerHTML ="";
returntrue;
}
else{
resultElement.innerHTML ="会员名为字母、数字、下划线组成,并且字母为开头,长度不小于6!";
returnfalse;
}
}
functioncheckPwd() {
varpwdElement = document.getElementById("pwd");
varregExp = /[a-zA-Z\d_]/i;// \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。
varregExp2 = /[a-zA-Z]/i;//匹配字母
varregExp3 = /\d/i;//匹配数字
varresultElement = document.getElementById("resPwd");
if(pwdElement.value.match(regExp) && pwdElement.value.match(regExp2) && pwdElement.value.match(regExp3) && pwdElement.value.length >= 6) {
//匹配成功
//密码为字母、数字、下划线组成,并且必须有字母、数字,长度不小于6
resultElement.innerHTML ="";
returntrue;
}
else{
resultElement.innerHTML ="密码为字母、数字、下划线组成,并且必须有字母、数字,长度不小于6!";
returnfalse;
}
}
functioncheckPwd2() {
varpwdElement = document.getElementById("pwd");
varpwd2Element = document.getElementById("pwd2");
varresultElement = document.getElementById("resPwd2");
if(pwdElement.value == pwd2Element.value) {
//重输密码与之前密码完全匹配
resultElement.innerHTML ="";
returntrue;
}
else{
resultElement.innerHTML ="密码不一致!";
returnfalse;
}
}
functioncheckGentle() {
vargentleElement = document.getElementById("gentle");
varresultElement = document.getElementById("resGentle");
if((gentleElement.value =="男"|| gentleElement.value =="女") || (gentleElement.value =="m"|| gentleElement.value =="f") || (gentleElement.value =="male"|| gentleElement.value =="famale")) {
//性别判断是否在:男、女、male、famale、m、f 之内
resultElement.innerHTML ="";
returntrue;
}
else{
resultElement.innerHTML ="性别判断是否在:男、女、male、famale、m、f 之内!";
returnfalse;
}
}
functioncheckAge() {
varageElement = document.getElementById("age");
varresultElement = document.getElementById("resAge");
if(parseInt(ageElement.value) > 0 && parseInt(ageElement.value) <= 150) {
//如果年龄在0~150之间
resultElement.innerHTML ="";
returntrue;
}
else{
resultElement.innerHTML ="年龄在0~150之间!";
returnfalse;
}
}
functioncheckMail() {
varmailElement = document.getElementById("mail");
varregExp = /[^a-z0-9_]/gi;// 匹配非字母、数字、下划线的字符
varregExp2 = /[a-z]/gi;// 匹配字母
varresultElement = document.getElementById("resMail");
if(!mailElement.value.match(regExp)) {//如果出现非字母、数字、下划线的字符
resultElement.innerHTML ="邮箱地址不正确!";
returnfalse;
}
else{
if(mailElement.value.indexOf(".") - mailElement.value.indexOf("@") >= 2) {
resultElement.innerHTML ="";
returntrue;
}
else{
resultElement.innerHTML ="邮箱地址不正确!";
returnfalse;
}
}
}
functioncheckTel() {
vartelElement = document.getElementById("tel");
varregExp = /\d{7,12}/g;// 匹配7~12位电话数字
varregExp2 = /[^0-9]/g;// 是否有数字以外的字符
varresultElement = document.getElementById("resTel");
if(telElement.value.match(regExp) && telElement.value.length <= 12) {
if(telElement.value.match(regExp2)) {
resultElement.innerHTML ="电话号码为纯数字,且位于7~12位之间!";
returnfalse;
}
else{
resultElement.innerHTML ="";
returntrue;
}
}
else{
resultElement.innerHTML ="电话号码为纯数字,且位于7~12位之间!";//!telElement.value.match(regExp2) &&
returnfalse;
}
}
functioncheckAll() {
if(checkName() && checkPwd() && checkPwd2() && checkGentle() && checkAge() && checkMail() && checkTel()) {
alert("恭喜,填写的信息正确!");
}
else{
alert("错误,请确认填写的信息是否正确!");
}
}
//当窗体加载完成时执行
window.onload =function() {
varinputElements = document.getElementsByTagName("input");
inputElements[0].onblur =function() {
checkName();
}
inputElements[1].onblur =function() {
checkPwd();
}
inputElements[2].onblur =function() {
checkPwd2();
}
inputElements[3].onblur =function() {
checkGentle();
}
inputElements[4].onblur =function() {
checkAge();
}
inputElements[5].onblur =function() {
checkMail();
}
inputElements[6].onblur =function() {
checkTel();
}
inputElements[7].onclick =function() {
checkAll();
}
}
</script>
body{ font-size:16px;
font-weight:600;
font-family:微软雅黑;
line-height:30px;
}
thead{ text-align:center;
}
input{ width:150px;
}
input[type=button]{ height:38px;
font-size:20px;
font-weight:600;
}
ul{ border:1px solid#c3c3c3;
}
li{ list-style-type:square;
}
会员名为字母、数字、下划线组成,并且字母为开头,长度不小于6
密码为字母、数字、下划线组成,并且必须有字母、数字,长度不小于6
性别判断是否在:男、女、male、famale、m、f 之内
年龄在0~150之间
邮箱地址
电话号码为纯数字,且位于7~12位之间!