ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用 **sql 语句** ~~~ ^(select|drop|delete|create|update|insert).*$ ~~~ **非负整数** ~~~ ^\d+$ ~~~ **正整数** ~~~ ^[0-9]*[1-9][0-9]*$ ~~~ **非正整数** ~~~ ^((-\d+)|(0+))$ ~~~ **负整数** ~~~ ^-[0-9]*[1-9][0-9]*$ ~~~ **整数** ~~~ ^-?\d+$ ~~~ **非负浮点数** ~~~ ^\d+(\.\d+)?$ ~~~ **正浮点数** ~~~ ^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ ~~~ **非正浮点数** ~~~ ^((-\d+\.\d+)?)|(0+(\.0+)?))$ ~~~ **负浮点数** ~~~ ^(-((正浮点数正则式)))$ ~~~ **英文字符串** ~~~ ^[A-Za-z]+$ ~~~ **英文大写串** ~~~ ^[A-Z]+$ ~~~ 英文小写串 ~~~ ^[a-z]+$ ~~~ **英文字符数字串** ~~~ ^[A-Za-z0-9]+$ ~~~ **英数字加下划线串** ~~~ ^\w+$ ~~~ **URL** ~~~ ^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ ~~~ 或 ~~~ ^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ ~~~ **邮政编码** ~~~ ^[1-9]\d{5}$ ~~~ **电话号码** ~~~ ^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$ ~~~ **手机号码** ~~~ ^((\(\d{2,3}\))|(\d{3}\-))?13\d{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*13\d{9} ~~~ **提取信息中的中国固定电话号码** ~~~ (\(\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*)\.?\d+ ~~~ **提取信息中的任何数字** ~~~ (-?\d*)(\.\d+)? ~~~ **IP** ~~~ (\d+)\.(\d+)\.(\d+)\.(\d+) ~~~ **电话区号** ~~~ /^0\d{2,3}$/ ~~~ **帐号(字母开头,允许 5-16 字节,允许字母数字下划线)** ~~~ ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ ~~~ **中文、英文、数字及下划线** ~~~ ^[\u4e00-\u9fa5_a-zA-Z0-9]+$ ~~~ **年-月-日** ~~~ ^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$ ~~~ **月/日/年** ~~~ ^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$ ~~~ **Email** ~~~ ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$ ~~~ **电话号码** ~~~ ^((\+?[0-9]{2,4}\-[0-9]{3,4}\-)|([0-9]{3,4}\-))?([0-9]{7,8})(\-[0-9]+)?$ ~~~ **IP 地址** ~~~ ^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ ~~~ **匹配中文字符的正则表达式** ~~~ [\x{4e00}-\x{9fa5}] ~~~ **匹配双字节字符(包括汉字在内)** ~~~ [^\x00-\xff] ~~~ **匹配空行的正则表达式** ~~~ \n[\s| ]*\r ~~~ **匹配 HTML 标记的正则表达式** ~~~ /<(.*)>.*<\/\1>|<(.*) \/>/ ~~~ **匹配首尾空格的正则表达式** ~~~ (^\s*)|(\s*$) ~~~ **匹配 Email 地址的正则表达式** ~~~ \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ~~~ **匹配网址 URL 的正则表达式** ~~~ ^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$ ~~~ **匹配帐号是否合法(字母开头,允许 5-16 字节,允许字母数字下划线)** ~~~ ^[a-zA-Z][a-zA-Z0-9_]{4,15}$ ~~~ **匹配国内电话号码** ~~~ (\d{3}-|\d{4}-)?(\d{8}|\d{7})? ~~~ **匹配腾讯 QQ 号** ~~~ ^[1-9]*[1-9][0-9]*$ ~~~ **利用正则表达式限制网页表单里的文本框输入内容** 1.用正则表达式限制只能输入中文 ~~~ onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))" ~~~ 2.用正则表达式限制只能输入全角字符 ~~~ onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))" ~~~ 3.用正则表达式限制只能输入数字 ~~~ onkeyup="value=value.replace(/[^d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))" ~~~ 4.用正则表达式限制只能输入数字和英文 ~~~ onkeyup="value=value.replace(/[W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))" ~~~