常用的正则校验

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script>
			/*检查输入的身份证号是否正确*/
			function checkCard(str) {
				/*15位数身份证正则表达式:
			     * 编码规则顺序从左至右依次为6位数字地址码,6位数字出生年份后两位及日期,3位数字顺序码。
                   [1-9]\d{5} 前六位地区,非0打头
                   \d{2} 出生年份后两位00-99
                  ((0[1-9])|(10|11|12)) 月份,01-12月
                  (([0-2][1-9])|10|20|30|31) 日期,01-31天
                  \d{3} 顺序码三位,没有校验码
                */
                var arg1 = /^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$/;
                if (arg1.length == 15 && !arg1.test(arg1)) {
                   return false;
                }
				/*
				* 18位数身份证正则表达式:
			    * 编码规则顺序从左至右依次为6位数字地址码,8位数字出生年份日期码,3位数字顺序码,1位数字校验码(可为x)。
				 	 [1-9]\d{5} 前六位地区,非0打头
					(18|19|([23]\d))\d{2} 出身年份,覆盖范围为 1800-3999 年
					((0[1-9])|(10|11|12)) 月份,01-12月
					(([0-2][1-9])|10|20|30|31) 日期,01-31天
					\d{3}[0-9Xx]: 顺序码三位 + 一位校验码
				*/
				var arg2 = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
				if (arg2.length == 18 && !arg2.test(sfzhmcode)){
					return false;
				}
				return true;
				/*或者
				 * if(str.match(arg1)==null&&str.match(arg2)==null){
				 * 	return false;
				 * }else{
				 * 	return true;
				 * }
				 * 
				 */
			}
			
			
			/*是否是小数*/
			function isDecimal(strValue) {
				var objRegExp = /^\d+\.\d+$/;
				return objRegExp.test(strValue);
			}
		
		
			/*校验是否中文名称组成 */
			function ischina(str) {
				var reg = /^[\u4E00-\u9FA5]{2,4}$/;
				return reg.test(str);
			}
		
		
			/*校验是否全由8位数字组成 */
			function isNum(str) {
				var reg = /^[0-9]{8}$/;
				return reg.test(str);
			}
		
		
			/*校验电话码格式 :座机和手机*/
			function isTelCode(str) {
				var reg = /^((0\d{2,3}-\d{7,8})|(1[345789]\d{9}))$/;
				return reg.test(str);
			}
		
		
		
			/*校验手机号*/
			function isPhoneNum(str) {
				//如果你要精确验证手机号码,那个你可以使用第一个正则。这是根据电信,移动,联通目前发行的号码来的。验证比较精确。
				var reg = /^1[3|4|5|7|8][0-9]{9}$/;
				 如果因为现有的号码不能满足市场需求,电信服务商会增大号码范围。所以一般情况下我们只要验证手机号码为11位,且以1开头。
				var reg = /^^1[0-9]{10}$$/;
				return reg.test(str);
			}
		
		
			/*校验邮件地址是否合法 */
			function IsEmail(str) {
				var reg = /^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
				return reg.test(str);
			}
		
		
			/*检查输入的URL地址是否正确 */
			function checkURL(str) {
				if(str.match(/http(s)?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/i) == null){
					return false;
				} else {
					return true;
				}
			}
		</script>
	</body>
</html>

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值