常用正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用正则表达式相关的知识,希望对你有一定的参考价值。
常用的数字正则(严格匹配) 正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^-?[1-9]\d*$ 匹配整数 ^[1-9]\d*|0$ 匹配非负整数(正整数 + 0) ^-[1-9]\d*|0$ 匹配非正整数(负整数 + 0) ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 匹配正浮点数 ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 匹配负浮点数 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 匹配浮点数 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ 匹配非负浮点数(正浮点数 + 0) ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ 匹配非正浮点数(负浮点数 + 0)
常用字符串正则 正则 含义 补充 ^[A-Za-z]+$ 匹配由26个英文字母组成的字符串 或 /^[a-z]+$/i ^[A-Z]+$ 匹配由26个英文字母的大写组成的字符串 ^[a-z]+$ 匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$ 匹配由数字和26个英文字母组成的字符串 注意\w包含下划线_ ^\w+$ 匹配由数字、26个英文字母或者下划线组成的字符串 \W 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
匹配中文字符 普遍使用的正则是[\u4e00-\u9fa5],
匹配双字节字符(包括汉字在内) [^\x00-\xff],可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1),代码示例如下: console.info( "abc".replace( /[^\x00-\xff]/g,"aa" ).length ) // 3 console.info( "汉字".replace( /[^\x00-\xff]/g,"aa" ).length ) // 4 console.info( "abc汉字".replace( /[^\x00-\xff]/g,"aa").length ) // 7
匹配html标记的正则表达式 var rtag = /^<([a-z]+)\s*\/?> (?:<\/\1>)?$/i // 去掉了中间的.* 这个正则的应用范围仅限于简单的标签匹配、提取,不能匹配嵌套标记。
匹配首尾空白字符的正则表达式: ^\s*|\s*$
匹配邮箱 /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
匹配网址URL的正则表达式 [a-zA-z]+://[^\s]*
匹配国内电话号码 \d{3}-\d{8}|\d{4}-\d{7} 评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯QQ号 [1-9][0-9]{4,} 评注:腾讯QQ号从10000开始
匹配中国邮政编码 [1-9]\d{5}(?!\d) 评注:中国邮政编码为6位数字 (?!)意思是否定顺序环视,不匹配右边的内容。[1-9]\d{5}(?!\d)整个表达式的意思就是:以1至9的数字开头,后面接5位任意数字,并且第6位开始(也就是邮编的末尾)不能是任意数字。\d就是任意数字的意思。
验证身份证 /^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$/ 要求: 1、15位或18位,如果是15位,必需全是数字。 2、如果是18位,最后一位可以是数字或字母Xx,其余必需是数字。
以上是关于常用正则表达式的主要内容,如果未能解决你的问题,请参考以下文章