妈蛋 不想学js了 最讨厌写总结了
今天哥哥强迫我学了正则表达式 有点难理解 调来调去的
<html>
<head>
<title>账号注册</title>
<script>
function paramArrayNotNull(paramArray,paramNaneArray){
for (var start=0;start<paramArray.length;start++){
if (paramArray[start]==""){
alert("输入"+paramNaneArray[start]+"不能为空");
return false;
}
}
return true;
}
function judgeIsNum (srt){
var pattern=/^\d+$/g; //正则表达式 ^ 代表从开始位置起 $ 末尾 + 是连续多个 \d 是数字的意思 不懂的话可以去百度正则表达式表
var result= srt.match(pattern);//match 是匹配的意思 用正则表达式来匹配
if (result==null){
return false;
}else{
return true;
}
}
function baobao() {
var ueserName=document.getElementById("ueserName").value;
var password=document.getElementById("password").value;
var repassword=document.getElementById("repassword").value;
var age=document.getElementById("age").value;
var phone=document.getElementById("phone").value;
var Email=document.getElementById("Email").value;
var idCard=document.getElementById("idCard").value;
var paramArray=[ueserName,password,repassword,age,phone,Email,idCard];
var paramNaneArray=["用户名","密码","确认","年龄","电话号码","邮箱","身份证号码"];
if ( ! paramArrayNotNull(paramArray,paramNaneArray) ){
return false;
}
if(ueserName.match(/^\w+$/g) == null){
alert("输入的用户名只能用英文,数字和'_'");
return false;
}
if (repassword !=password){
alert("确认密码与密码不一致");
return false;
}
if ( age < 17 || age > 80){
alert("年龄超出使用范围<18~80>");
return false;
}
if (phone.length !=8 && phone.length !=11){
alert("电话号码不合法");
return false;
}
if (! judgeIsNum(phone)){
alert("输入的号码不是纯数字");
return false;
}
if (Email.indexOf("@")==-1){
alert("邮箱不合法");
return false;
}
var judgeIdSrt="";
if (idCard.indexOf("X")==17){
judgeIdSrt=idCard.substring(0,17); //substring 是截取的意思 截取0到17位的数字 但不包括第17位
}else{
judgeIdSrt= idCard;
}
if (! judgeIsNum(judgeIdSrt)){
alert("输入的身份证号码不是纯数字");
return false;
}
}
</script>
</head>
<body>
<form action="http://www.baidu.com/" method="post" οnsubmit="return baobao();">
用户名:
<input type="text" name="ueserName" id="ueserName"/><br/>
密码:
<input type="text" name="password" id="password"/><br/>
确认密码:
<input type="text" name="repassword" id="repassword"/><br/>
年龄:
<input type="text" name="age" id="age"/><br/>
电话号码:
<input type="text" name="phone" id="phone"/><br/>
邮箱:
<input type="text" name="Email" id="Email"/><br/>
身份证号码:
<input type="text" name="idCard" id="idCard"/><br/>
<input type="button" value="重新输入"/>
<input type="submit" value="注册"/>
</form>
</body>
</html>
正则表达式是由 / 里面是条件符号 /g; 组成的
例如:
<span style="font-size:14px;color:#006600;"><strong>var pattern=/^\d+$/g; //正则表达式 ^ 代表从开始位置起 $ 末尾 + 是连续多个 \d 是数字的意思 不懂的话可以去百度正则表达式表</strong></span>
<span style="font-size:14px;color:#006600;"><strong>要用match 来匹配 </strong></span>
<pre name="code" class="javascript"><span style="font-size:14px;color:#006600;"><strong>var result= srt.match(pattern);//match 是匹配的意思 用正则表达式来匹配</strong></span>
<span style="font-size:14px;color:#006600;"><strong>substring 是截取的意思 截取0到17位的数字 但不包括第17位</strong></span>