JAVA正则表达式

来源:互联网 发布:java内部类的调用 编辑:程序博客网 时间:2024/05/16 18:41

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;            }    }

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