牛骨文教育服务平台(让学习变的简单)
博文笔记

js 正则表达式 判断是否是纯数字

创建时间:2014-07-24 投稿人: 浏览次数:4709

妈蛋  不想学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" onsubmit="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>


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。