本文汇总了一些常用的正则表达式,开发的时候可以直接使用。
常用字符
- 匹配中文字符:
/[\u4e00-\u9fa5]/gm
- 匹配双字节字符:
/[^\x00-\xff]/igm
- 匹配行尾行首空白:
/(^\s*)|(\s*$)/
- 只能输入数字:
/^\d+$/
- 只能输入n个数字:
/^\d{n}$/
- 至少输入n个以上的数字:
/^\d{n,}$/
- 只能输入m到n个数字:
/^\d{m,n}$/
- 只能由小写英文字母组成:
/^[a-z]+$/i
- 只能由大写英文字母组成:
/^[A-Z]+$/
- 只能由英文和数字组成:
/^[a-z0-9]+$/i
- 只能由英文、数字、下划线组成:
/^\w+$/
- 匹配非零的正整数:
^\+?[1-9][0-9]*$
- 匹配非零的负整数:
^\-[1-9][0-9]*$
- 匹配一年的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。 - 验证字符长度是否为3-10:
^.{3,20}$
常用表单
-
匹配Email地址
/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/
-
匹配URL地址
/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i
-
匹配手机号
/^(0|86|17951)?(13[0-9]|15[012356789]|166|17[3678]|18[0-9]|14[57])[0-9]{8}$/
-
匹配身份证号
/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/
-
匹配IP地址
(\d{1,3}.){3}\d
-
匹配邮编
/^[1-9]\d{5}(?!\d)$/
-
匹配日期
/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/
HTML相关
- 匹配link标签
/\<link\s(.*?)\s*(([^&]>)|(\/\>)|(\<\/link\>))/gi
- 匹配HTML标签
/<(\S*?) [^>]*>.*?</\1>|<.*?/>/gm
- 匹配非HTML标签
/^[^<>`~!/@\#}$%:;)(_^{&*=|'+]+$/
- 匹配script标签
/<script[^>]*>[\s\S]*?<\/[^>]*script>/gi
- 匹配HTML注释
/<!--[\s\S]*?--\>/g
- 匹配HTML条件注释
/\[\s*if\s+[^\]][\s\w]*\]/i
- 匹配非IE的条件注释
/^\[if\s+(!IE|false)\]>.*<!\[endif\]$/i
- 匹配CSS expression
/expression[\s\r\n ]?\(/gi
- 匹配不合法的HTML标签
/<\W+>/gi
- 匹配textarea标签
/<textarea[^>]*>[\s\S]*?<\/[^>]*textarea>/gi
从UA中判断平台
- 是否是IE浏览器
/msie (\d+\.\d+)/i
- 是否是webkit内核
/webkit/i
- 是否是chrome浏览器
/chrome\/(\d+\.\d+)/i
- 是否是Firefox浏览器
/firefox\/(\d+\.\d+)/i
- 是否为opera浏览器
/opera(\/| )(\d+(\.\d+)?)(.+?(version\/(\d+(\.\d+)?)))?/i
- 是否为safari浏览器
/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i
- 是否为Android系统
/android/i
- 是否为iPad
/ipad/i
- 是否为iPhone
/iphone/i
- 是否为Mac OS
/macintosh/i
- 是否为window系统
/windows/i
- 是否为移动端
/(nokia|iphone|android|ipad|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i
往期精彩:
3、简单易学!使用 Node.js 编写爬虫,跟着教程一步步实现!
评论区