正则表达式简单语法及常用正则表达式

基本符号:

^  表示匹配字符串的开始位置  (例外  用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)

$  表示匹配字符串的结束位置

*  表示匹配 零次到多次

+  表示匹配 一次到多次 (至少有一次)

?  表示匹配零次或一次

.  表示匹配单个字符 

|  表示为或者,两项中取一项

(  ) 小括号表示匹配括号中全部字符

[  ] 中括号表示匹配括号中一个字符 范围描述 如[0-9 a-z A-Z]

{  } 大括号用于限定匹配次数  如 {n}表示匹配n个字符  {n,}表示至少匹配n个字符  {n,m}表示至少n,最多m

\  转义字符 如上基本符号匹配都需要转义字符   如 \*  表示匹配*号

\w 表示英文字母和数字  \W  非字母和数字

\d  表示数字   \D  非数字

$.extend(
    $.fn.validatebox.defaults.rules,
    {
        idcard: {// 验证身份证
            validator: function (value) {
                return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
            },
            message: '身份证号码格式不正确'
        },
        minLength: {
            validator: function (value, param) {
                return value.length >= param[0];
            },
            message: '请输入至少(2)个字符.'
        },
        length: {
            validator: function (value, param) {
                var len = $.trim(value).length;
                return len >= param[0] && len <= param[1];
            },
            message: "输入内容长度必须介于{0}和{1}之间."
        },
        phone: {// 验证电话号码
            validator: function (value) {
                return /^((\d2,3  )|(\d{3}\-))?(0\d2,3  |0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i
                    .test(value);
            },
            message: '格式不正确,请使用下面格式:020-88888888'
        },
        mobile: {// 验证手机号码
            validator: function (value) {
                return /^1(3|4|5|7|8)\d{9}$/i.test(value);
            },
            message: '手机号码格式不正确'
        },
        phoneNum: {// 验证手机号码+固定电话
            validator: function (value) {
                return /^(((((010)|(02\d)))[2-8]\d{7})|(0[3-9]\d{2}[2-8]\d{6,7})|(0?(?:147|1[358]\d)\d{8}))$/i
                    .test(value);
            },
            message: '手机号码格式不正确'
        },
        tax: {// 验证纳税人识别号18位字母+数字
            validator: function (value) {
                return /^([0-9A-Za-z]{18})+$/i.test(value);
            },
            message: '纳税人识别号格式不正确'
        },
        intOrFloat: {// 验证整数或小数
            validator: function (value) {
                return /^\d+(\.\d+)?$/i.test(value);
            },
            message: '请输入数字,并确保格式正确'
        },
        currency: {// 验证货币
            validator: function (value) {
                return /^\d+(\.\d+)?$/i.test(value);
            },
            message: '货币格式不正确'
        },
        qq: {// 验证QQ,从10000开始
            validator: function (value) {
                return /^[1-9]\d{4,9}$/i.test(value);
            },
            message: 'QQ号码格式不正确'
        },
        integer: {// 验证整数
            validator: function (value) {
                return /^[+]?[1-9]+\d*$/i.test(value);
            },
            message: '请输入整数'
        },
        age: {// 验证年龄
            validator: function (value) {
                return /^(?:[1-9][0-9]?|1[01][0-9]|120)$/i
                    .test(value);
            },
            message: '年龄必须是0到120之间的整数'
        },
        chinese: {// 验证中文
            validator: function (value) {
                return /^[\Α-\¥]+$/i.test(value);
            },
            message: '请输入中文'
        },
        english: {// 验证英语
            validator: function (value) {
                return /^[A-Za-z]+$/i.test(value);
            },
            message: '请输入英文'
        },
        unnormal: {// 验证是否包含空格和非法字符
            validator: function (value) {
                return /.+/i.test(value);
            },
            message: '输入值不能为空和包含其他非法字符'
        },
        userid: {// 验证用户账号
            validator: function (value) {
                return /^[a-zA-Z][a-zA-Z0-9_]{1,15}$/i.test(value);
            },
            message: '用户账号不合法(字母开头,允许2-16字符,允许字母数字下划线)'
        },
        username: {// 验证用户名称
            validator: function (value) {
                return /^.{1,16}$/i.test(value);
            },
            message: '用户名称不合法(允许1-16汉字)'
        },
        password: {// 验证密码
            validator: function (value) {
                return /^[_0-9a-z]{2,16}$/i.test(value);
            },
            message: '密码不合法(允许2-16字符,允许字母数字下划线)'
        },
        faxno: {// 验证传真
            validator: function (value) {
                // return /^[+]{0,1}(\d){1,3}[]?([-]?((\d)|[
                // ]){1,12})+$/i.test(value);
                return /^((\d2,3  )|(\d{3}\-))?(0\d2,3  |0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i
                    .test(value);
            },
            message: '传真号码不正确'
        },
        zip: {// 验证邮政编码
            validator: function (value) {
                return /^[1-9]\d{5}$/i.test(value);
            },
            message: '邮政编码格式不正确'
        },
        ip: {// 验证IP地址
            validator: function (value) {
                return /d+.d+.d+.d+/i.test(value);
            },
            message: 'IP地址格式不正确'
        },
        name: {// 验证姓名,可以是中文或英文
            validator: function (value) {
                return /^[\Α-\¥]+$/i.test(value)
                    | /^\w+[\w\s]+\w+$/i.test(value);
            },
            message: '请输入姓名'
        },
        date: {// 验证姓名,可以是中文或英文
            validator: function (value) {
                // 格式yyyy-MM-dd或yyyy-M-d
                return /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i
                    .test(value);
            },
            message: '清输入合适的日期格式'
        },
        msn: {
            validator: function (value) {
                return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
                    .test(value);
            },
            message: '请输入有效的msn账号(例:abc@hotnail(msn/live).com)'
        },
        same: {
            validator: function (value, param) {
                if ($("#" + param[0]).val() != "" && value != "") {
                    return$("#" + param[0]).val() == value;
                } else {
                    return true;
                }
            },
            message: '两次输入的密码不一致!'
        }
    }
);

常用的正则表达式(转)

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

 

匹配双字节字符(包括汉字在内):[^\x00-\xff]

 

匹配空行的正则表达式:\n[\s| ]*\r

 

匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 

 

匹配首尾空格的正则表达式:(^\s*)|(\s*$)

 

匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //

 

匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

 

匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

 

sql语句:^(select|drop|delete|create|update|insert).*$

 

1、非负整数:^\d+$ 

 

2、正整数:^[0-9]*[1-9][0-9]*$ 

 

3、非正整数:^((-\d+)|(0+))$ 

 

4、负整数:^-[0-9]*[1-9][0-9]*$ 

 

5、整数:^-?\d+$ 

 

6、非负浮点数:^\d+(\.\d+)?$ 

 

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

 

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

 

9、负浮点数:^(-((正浮点数正则式)))$ 

 

10、英文字符串:^[A-Za-z]+$ 

 

11、英文大写串:^[A-Z]+$ 

 

12、英文小写串:^[a-z]+$ 

 

13、英文字符数字串:^[A-Za-z0-9]+$ 

 

14、英数字加下划线串:^\w+$ 

 

15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ 

 

16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 

或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$

 

17、邮政编码:^[1-9]\d{5}$

 

18、中文:^[\u0391-\uFFE5]+$

 

19、电话号码:^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

 

20、手机号码:^((\d2,3)|(\d{3}\-))?13\d{9}$

 

21、双字节字符(包括汉字在内):^\x00-\xff

 

22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)

 

23、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/> 

 

24、匹配空行:\n[\s| ]*\r

 

25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

 

26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

 

27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

 

28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

 

29、提取信息中的中国手机号码:(86)*0*13\d{9}

 

30、提取信息中的中国固定电话号码:(\d3,4|\d{3,4}-|\s)?\d{8}

 

31、提取信息中的中国电话号码(包括移动和固定电话):(\d3,4|\d{3,4}-|\s)?\d{7,14}

 

32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

 

33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+

 

34、提取信息中的任何数字 :(-?\d*)(\.\d+)? 

 

35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

 

36、电话区号:/^0\d{2,3}$/

 

37、腾讯QQ号:^[1-9]*[1-9][0-9]*$

 

38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

 

39、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

https://blog.csdn.net/david_520042/article/details/5414364

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值