常用的正则表达式及用法

SongKer 发布时间:2014-08-04 分类:Web 阅读:3369次 1 条评论

验证数字的正则表达式集 

验证数字:^[0-9]*$ 

验证n位的数字:^\d{n}$ 

验证至少n位数字:^\d{n,}$ 

验证m-n位的数字:^\d{m,n}$ 

验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 

验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 

验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 

验证非零的正整数:^\+?[1-9][0-9]*$ 

验证非零的负整数:^\-[1-9][0-9]*$ 

验证非负整数(正整数 + 0) ^\d+$ 

验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 

验证长度为3的字符:^.{3}$ 

验证由26个英文字母组成的字符串:^[A-Za-z]+$ 

验证由26个大写英文字母组成的字符串:^[A-Z]+$ 

验证由26个小写英文字母组成的字符串:^[a-z]+$ 

验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 

验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 

验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 

验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 

验证汉字:^[\u4e00-\u9fa5],{0,}$ 

验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ 

验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 

验证电话号码:^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 

验证身份证号(15位或18位数字):^\d{15}|\d{}18$ 

验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 

验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 

整数:^-?\d+$ 

非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$ 

正浮点数 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 

非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 

负浮点数 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 

浮点数 ^(-?\d+)(\.\d+)?$

某一些正则表达式可能并不支持170等网络手机卡:

正则表达式--验证手机号码:1[0-9]{10} 

实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$ 

电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})  

验证网络链接:(h|H)(r|R)(e|E)(f|F)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)?   

验证邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*   

验证图片链接:(s|S)(r|R)(c|C)  *=  *('|")?(\w|\\|\/|\.)+('|"|  *|>)? 

验证IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)     

验证中国手机号码:(86)*0*1\d{10}     

验证中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}     

验证中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}     

验证中国邮政编码:[1-9]{1}(\d+){5}     

验证中国身份证号码:\d{18}|\d{15}     

提取信息中的整数:\d+     

验证浮点数(即小数):(-?\d*)\.?\d+     

验证任何数字  :(-?\d*)(\.\d+)?   

验证中文字符串:[\u4e00-\u9fa5]*     

验证双字节字符串  (汉字):[^\x00-\xff]*

验证固定电话:/^(\d{3,4}\-?)?\d{7,8}$/


用法:

<script type="text/javascript">
        function Check() {
            var Num = document.getElementById("<%=EquipmentNum.ClientID%>");
            var patrn = /^\d+(\.\d+)?$/;
            if (!patrn.exec(Num.value)) {
                alert('数量只能为正数!');
                Num.focus();
                return false;
            }
        var IdCard=document.getElementById("ctl00_ContentPlaceHolder1_txtIDCard");
        if(IdCard.value.match(/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/)==null)
        { 
            //document.getElementById("wIDCard").innerHTML="<br />请输入正确的身份证号码";
        }
            return true;
        }
    </script>
//验证:只能输入小于1的数。例如0.12,0.45,0.99等
        function Check() {
            var str = document.getElementById("<%=ComPayRate.ClientID%>").value;
            if (str == "") {
                alert("支付比例不能为空!");
                return false;
            }
            var patrn = /^0\.[0-9]*[1-9]$/;
            if (!patrn.exec(str)) {
                alert('支付比例请输入小于1小数!');
                return false;
            }
            return true;
        }


关键字词: 正则表达式

已有1条留言

发表评论:

◎欢迎您的参与讨论。