您的位置:首页 > Web前端 > JavaScript

正则表达式整理

2014-06-06 08:12 274 查看
    常见正则表达式验证   

    ^(-){0,1}\d+$    整数  

    ^\d+$            正整数  

    ^-\d+$           负整数  

    [a-zA-Z0-9]      数字和字符 不包含标点  

    [\u4e00-\u9fa5]  中文  

    (http://|https://){0,1}[\w\/\.\?\&\=]+  网址  

    ^[0-9]+([.][0-9]+)?$   浮点数  

    ^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$ 邮箱地址  

    [1-9][0-9]{14}([0-9]{2}[0-9xX])?   简单判断15位或18位身份证  

    [1-9][0-9]{4,9}   判断qq号码 5-10位  

    匹配两个字符 前面不为数字 后面为字母  

    [^0-9][a-zA-Z]  

      

    我a我2的a%$电b脑131zZ  

    \d 等价于 [0-9]  

    \w 等价于[0-9a-zA-Z]  

    \s  等价于[]  

    量词  

    \d{6}    表示匹配6个连续的数字   {n}表示之前元素\d必须出现n次  

    \d{4,7}  表示匹配4个连续数字到7个连续数字  {m,n}表示之前元素\d最少出现m次,最多出现n次  

    \d{4,}   表示匹配等于或大于4个连续数字  {m,}表示之前的元素\d最少出现m次,最多无上限  

    \d{0,4}  表示匹配少于或等于4个连续数字  

      

    * 等价于 {0,}   之前元素可能出现,也可能不出现,出现次数无上限    

    + 等价于 {1,}   之前元素至少出现一次,出现次数无上限  

    ? 等价于 {0,1}  之前元素可能不出现,最多出现一次  

    量词  

    \d{6}    表示匹配6个连续的数字   {n}表示之前元素\d必须出现n次  

    \d{4,7}  表示匹配4个连续数字到7个连续数字  {m,n}表示之前元素\d最少出现m次,最多出现n次  

    \d{4,}   表示匹配等于或大于4个连续数字  {m,}表示之前的元素\d最少出现m次,最多无上限  

    \d{0,4}  表示匹配少于或等于4个连续数字  

      

    * 等价于 {0,}   之前元素可能出现,也可能不出现,出现次数无上限    

    + 等价于 {1,}   之前元素至少出现一次,出现次数无上限  

    ? 等价于 {0,1}  之前元素可能不出现,最多出现一次  

      

    <[^>]+>   表示匹配"<"开始和">"结束 中间不包含">"的至少一个字符的字符串  

    https?  表示s可以不出现也可以出现 但最多出现一次 结果是http https都能匹配到  httpss匹配不到  

    https*  表示s可以不出现也可以出现 出现次数无上限 结果是http https httpss httpss...s均可以匹配  

    多选结构"|"  

    ([1-9]\d{14}|[1-9]\d{14}\d{2}[0-9X])   可粗略同时匹配15位和18位身份证  

    表示匹配15位和18位身份证,如果15位 全部由数字组成,首位不能为0  

    如果18位 前17位全部为数字 末位可能为数字也可能为X  首位不能为0  

基本的语法字符  

/d  0-9的数字    

/D  /d的补集(以所以字符为全集,下同),即所有非数字的字符    

/w  单词字符,指大小写字母、0-9的数字、下划线    

/W  /w的补集    

/s  空白字符,包括换行符/n、回车符/r、制表符/t、垂直制表符/v、换页符/f    

/S  /s的补集    

.  除换行符/n外的任意字符    

[…]  匹配[]内所列出的所有字符    

[^…]  匹配非[]内所列出的字符    

定位字符    

“定位字符”所代表的是一个虚的字符,它代表一个位置,你也可以直观地认为“定位字符”所代表的是某个字符与字符间的那个微小间隙。    

^  表示其后的字符必须位于字符串的开始处    

$  表示其前面的字符必须位于字符串的结束处    

/b  匹配一个单词的边界    

/B  匹配一个非单词的边界    

另外,还包括:/A  前面的字符必须位于字符处的开始处,/z  前面的字符必须位于字符串的结束处,/Z  前面的字符必须位于字符串的结束处,或者位于换行符前    

 

重复描述字符    

“重复描述字符”是体现正则表达式“很好很强大”的地方之一:    

{n}  匹配前面的字符n次    

{n,}  匹配前面的字符n次或多于n次    

{n,m}  匹配前面的字符n到m次    

?  匹配前面的字符0或1次    

+  匹配前面的字符1次或多于1次    

*  匹配前面的字符0次或式于0次   

车次必须以TKDGLZAY或者是数字1-7开头,接着是1-4位数字

一:^(T|K|D|G|C|L|Z|A|Y|[1-7]){1}\d{1,4}$

二:^([TKDGCLZAY]|[1-7]){1}\d{1,4}$

//判断输入的内容是不是为数:

var reg=/^[1-9]\d*(\.[0-9]+)?$|^0$/i

//特别提醒:js的正则表达式,如果我们使用test来验证,则正则表达式不要带  /g

    //定义一个判断电话信息是否都为数字的方法

    public boolean isNum(String tel){

        boolean t=true;

        for(int i=0;i<tel.length();i++){

            char c=tel.charAt(i);

            if(!Character.isDigit(c)){

                t=false;

                break;

            }

        }

        return t;

        

    }

    

    //定义一个判断Email信息是否符合格式的方法

    public boolean isEmail(String email){

        if(email.indexOf("@")==-1){

            return false;

        }

        else if(email.indexOf(".",email.indexOf("@"))==-1){

            return false;

        }

        else{

            return true;

        }

    }

------------------------待续-----------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  正则表达式 JS