javascript常用的正则表达式验证

今天摘抄了网上一些朋友的文章。结合自己的测试,整了一下一些常用的js正则表达式验证方式。

下面以一下html页面的方式展现出来。代码在javascript部分:以后有合适的再陆续补充

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>javascript正则表达式</title>
	<script type="text/javascript" language="javascript">
	function checkUser(str){	/**只允许字母数字和下划线,且长度4-16以内**/
		var re = /^[a-zA-z]\w{3,15}$/;
	    if(re.test(str)){
	        alert("正确");
		}else{
	    	alert("错误");
		}
	}

	function checkMobile(str) {	/**手机号码验证,1打头,11位纯数字**/
	    var re = /^1\d{10}$/
	    if (re.test(str)) {
	        alert("正确");
	    } else {
	        alert("错误");
	    }
	}

	/**
	 * 验证规则:区号+号码,区号以0开头,3位或4位
	 * 号码由7位或8位数字组成
	 * 区号与号码之间可以无连接符,也可以“-”连接
	 * 如:01088888888,010-88888888,0813-7777777
	 */
	function checkPhone(str){	/**电话号码验证**/
    var re = /^0\d{2,3}-?\d{7,8}$/;
	    if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
	}

	/**
	 * 第一部分:由字母、数字、下划线、短线“-”、点号“.”组成
	 * 第二部分:为一个域名,域名由字母、数字、短线“-”、域名后缀组成
	 * 域名后缀一般为.xxx或.xxx.xx,一区的域名后缀一般为2-4位,如cn,com,net,现在域名有的也会大于4位
	 */
	function checkEmail(str){
	    var re = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/;
	    if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
	}

	function onlyNumbers(){	/**只能输入正整数和小数和0**/
		var str = document.getElementById("txtNumber").value;
 		var re = /^\d+\.?\d*$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
 	}

 	function onlyNumbersZZS(){	/**正整数**/
 		var str = document.getElementById("txtNumber").value;
 		var re = /^[0-9]*[1-9][0-9]*$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
 	}

 	function onlyNumbersZZSZ(){	/**正整数和0**/
 		var str = document.getElementById("txtNumber").value;
 		var re = /^\d+$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
 	}

 	function onlyNumbersFZS(){	/**负整数**/
 		var str = document.getElementById("txtNumber").value;
 		var re = /^-[0-9]*[1-9][0-9]*$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
 	}

 	function onlyNumbersFZSZ(){	/**正负整数和0**/
 		var str = document.getElementById("txtNumber").value;
 		var re = /^-?\d+$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
 	}

 	function onlyNumbersGZ(){	/**大于0且,保留两位小数以内的正数和小数点**/
 		var str = document.getElementById("txtNumber").value;
 		var re = /^(([0-9]+[\.]?[0-9]{1,2})|[1-9])$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
 	}

	function checkIdNo(){	/**验证身份证,最后一位或大写的X**/
 		var str = document.getElementById("txtNumber").value;
 		var re = /^\d{17}(\d|X)$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }
	}

	function checkChar(){	/**只有26个英文字母组成,大小写可用**/
		var str = document.getElementById("txtNumber").value;
 		var re = /^[A-Za-z]+$/;
 		if(re.test(str)){
	        alert("正确");
	    }else{
	        alert("错误");
	    }

	    //其它:/^[A-Z]+$/ 26个大写字母
	    //其它:/^[a-z]+$/ 26个小写字母
	    //其它:/^[A-Za-z0-9]+$/ 26个大小写字母和数字组成
	    //其它:/^\w+$/ 26个大小写字母和数字和下划线组成
	}

	</script>
  </head>

  <body>
    <input type="text" id="txtNumber" name="txtNumber" value="" />
    <br/>
    <a href=javascript:checkUser("DD1234567_890123")>可输入字母数字下划线</a><br/>
    <a href=javascript:checkMobile("13480013000")>验证手机号</a><br/>
    <a href=javascript:checkPhone("0955-7777777")>验证电话号码</a><br/>
    <a href=javascript:checkEmail("zyujie-123@163.com.cn")>验证邮箱</a><br/>
    <a href=javascript:checkChar()>其它测试</a><br/>
  </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值