最常用的几个数据验证正则判断,手机号,车牌号,身份证,Email,IP

*** 对手机号码进行校验 ***
* 移动号段: 134 135 136 137 138 139 147 148 150 151 152 157 158 159 172
* 178 182 183 184 187 188 198
* 联通号段: 130 131 132 145 146 155 156 166 171 175 176
* 185 186
* 电信号段: 133 149 153 173 174 177 180 181 189 199
* 虚拟运营商: 170
*/

public class TestPhone {
	    public static void main(String[] args) {
	        String str = "18974555356";
	        // 以哪些数字开头
	        // String regex =
	        // "^((13[0-9])|(14[56789])|(15[0-9])|(17[0-9])(18[0-9])|(19[89]))\\d{8}$";
	        String regex = "^((13[0-9])|(14[5|7|9])|(15([0-9])|(17[0-9])|(18[0-9])|(19[8|9]))\\d{8})$";

	        // 创建一个匹配模式
	        Pattern p = Pattern.compile(regex);
	        // 返回matcher对象
	        Matcher m = p.matcher(str);
	        //判断是否匹配指定的字符串
	        boolean isMatch = m.matches();
	        if (isMatch) {
	            System.out.println("手机号输入正确!");
	        } else {
	            System.err.println("手机号码输入错误");
	        }
	    }
	}

车牌号格式:
组成:省份简称(1位汉字)+发牌机关代号(1位字母)+序号(6位),总计8个字符,序号不能出现字母I和字母O
* 通用规则:不区分大小写,第一位:省份简称(1位汉字),第二位:发牌机关代号(1位字母)
* 序号位:
* 小型车,第一位:只能用字母D或字母F,
第二位:字母或者数字,后四位:必须使用数字 —([DF][A-HJ-NP-Z0-9][0-9]{4})
* 大型车,前五位:必须使用数字,第六位:只能用字母D或字母F。 ----([0-9]{5}[DF])

  function isVehicleNumber(vehicleNumber) {
		  var result = false;
		  if (vehicleNumber.length == 7){
		          var express = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;
		          result = express.test(vehicleNumber);
		        }
		  return result;
		    }
对身份证正则表达式验证
//1、定义一个全国地区的对象
	        var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}
	        //2、正则表达式判断
	  

```javascript
  function isCardID(sId){
            var iSum=0 ;
            var info="" ;
            if(!/^\d{17}(\d|x)$/i.test(sId)) return "你输入的身份证长度或格式错误";
            sId=sId.replace(/x$/i,"a");
            if(aCity[parseInt(sId.substr(0,2))]==null) return "你的身份证地区非法";
            sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));
            var d=new Date(sBirthday.replace(/-/g,"/")) ;
            if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "身份证上的出生日期非法";
            for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) ;
            if(iSum%11!=1) return "你输入的身份证号非法";
            //aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女");//此次还可以判断出输入的身份证号的人性别
            acity[parseInt]
            return true;
        }
   **//email正则表达式验证**
        function oo(){
            var email =  $("#Email").val().trim();
            if(email!="" &&email!=null){
             if(!(/^([A-Za-zd]+([-_.][A-Za-zd]+)*@([A-Za-zd]+[-.])+[A-Za-zd] {2,5}|\d{6,10}@qq.com)$/.test(email))){
	            $("#Email").val("");
	               return  layer.tips("邮箱不正确", "#Email");
	            };
	             
	             

	    

```html
   **IP地址正则表达式:**
            ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)	            
           释义: 1、2[0-4]\d:第一位是2,第二位是0-4,第三位是0-9——也就是数字200-249;
            2、25[0-5]:第一位是2,第二位是5,第三位是0-5——也就是数字250-255;
            3、[01]?\d\d?:第一位是0或1或者什么都没有,第二位是0-9,第三位是0-9或者什么都没有——也就是:0-199,允许有00、000、09、009、099等形式;
            4、(2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}:0.-255.重复三次;
            5、(2[0-4]\d|25[0-5]|[01]?\d\d?):0-255;
            
$checkip="/^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])(\.)(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])(\.)(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])(\.)(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/";
if($_POST[check_ip]!="" and $_POST[Submit]=="提交"){
	if(preg_match($checkip,$_POST[check_ip],$counts)){
		echo "<script>alert('IP地址格式正确!');window.location.href='index.php';</script>"; 	
	}else{
		echo "<script>alert('IP地址格式不正确!');window.location.href='index.php';</script>"; 
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@周生生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值