JAVA正则表达式

JAVA中的正则表达式

预定义字符
\d 匹配0 - 9 的任何字符
\D 匹配非数字
\s 匹配所以空白字符 包括空格 制表符 回车符
\S 匹配所以的非空白字符
\w 匹配所有的单词字符 包括0-9 所有的数组 26 个英文字母 和下划线
\W 匹配所以非单位字符
在使用replaceAll replaceFirst split 等函数时可以使用正则表达式。更方便编码

一些常用的正则表达式

//该正则表达式表示包含任意多个英文字母或者空格。
        String pattern1 = "^[a-zA-Z| ]*$";
        //替换, 将字符串中的所有连续空格替换成一个空格
        replaceAll("\\s{2,}", " "
        //将字符串中第一个连续的空格替换成一个空格
        replaceFirst("\\s{2,}", " "
        //分割字符串,按空格分割,多个连续的空格当作一个空格
        String[] ss = str.split("\\s{1,}");
        //限制分割后的数组的大小
        str.split("\\s{1,}", 3)
1. 验证中文英文
/^[\u4e00-\u9fa5a-zA-Z]/
2.验证手机号
String  number = "0?(13|14|15|18)[0-9]{9}"; 
3.验证qq号
String qq = "[1-9]([0-9]{5,11})";
4.验证邮箱
String email = "\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}";
5.验证身份证
String IdCard="\\d{17}[\\d|x]|\\d{15}";
6.验证用户名
 String userName="[A-Za-z0-9_\\-\\u4e00-\\u9fa5]+";

下面是使用正则实现的用户注册js检验

    function checkInput(){
        var name=document.getElementById("name").value;
        var num=document.getElementById("num").value;
        var email=document.getElementById("email").value;
        var area=document.getElementById("area").value;
        //判断用户名
        if(name==null||name==""){
            alert("请输入用户名!");
            document.getElementById("name").focus();
            return false;
        }
        var myname=/^[\u4e00-\u9fa5a-zA-Z]/;
        if(!myname.test(name)){
            alert("请输入中文或者英文用户名!");
            document.getElementById("name").focus();
            return false;
        }
         if(num.length==0) 
           { 
              alert("请输入手机号码!"); 
              document.getElementById("num").focus();
              return false; 
           }     
           if(num.length!=11) 
           { 
               alert("请输入11位的手机号码!"); 
               document.getElementById("num").focus(); 
               return false; 
           } 

           var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/; 
           if(!myreg.test(num)) 
           { 
               alert("请输入有效的手机号码!"); 
               document.getElementById("num").focus(); 
               return false; 
           } 
           //邮箱
           var  myemail =/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/;
           if(!myemail.test(email)){
               alert("请输入合法邮箱地址");
               document.getElementById("email").focus();
               return false; 
           }
        //区域
            if(area==null||area==""){
                alert("请输入所在区域!");
                document.getElementById("area").focus();
                return false;
            }
    }

关于正则表达式,根据不同的需求会有不同的表达,这里有一个正则表达生成的网站,能生成相关代码,很方便 正则表达式在线测试

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值