搜集了一些常用的 PHP 正则表达式。其实 JavaScript 正则跟这个也差不多,就是语法上稍微有点区别。有些表达式需要根据实际使用情况再做修改。
/(-?d*)(.d+)?/ //任何数字
/^\d+$/ //非负整数(正整数+0)
/^[0-9]*[1-9][0-9]*$/ //正整数
/^((-d+)|(0+))$/ //非正整数(负整数+0)
/^-[0-9]*[1-9][0-9]*$/ //负整数
/^-?d+$/ //整数
/^d+(.d+)?$/
//非负浮点(正浮点数+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+)?)|(0+(.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+)?$/
//浮点
/^[A-Za-z]+$/ //大小写英文字母串
/^[A-Z]+$/ //大写英文字母串
/^[a-z]+$/ //小写英文字母串
/^[A-Za-z0-9]+$/ //数字和大小写英文字母串
/^w+$/ //由数字、英文字母或下划线组成的字符串
/^[u4e00-u9fa5_a-zA-Z0-9]+$/ //中文、英文、数字及下划线
/^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$/
/w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/
/^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$/
//以上三个都是 Email 地址
/^(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})$# //月/日/年
/(^s*)|(s*$)/ //首尾空格
/[\x{4e00}-\x{9fa5}]/iu //中文字符
/[^x00-xff]/ //双字节字符(包括汉字在内)
/[s| ]*/ //空行
#<(.*)>.*</1>|<(.*) /># //HTML标记
#^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$# //所有协议的URL
#^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$# //所有协议的URL
#http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?# //HTTP协议的动态的URL
#^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]:+!]*([^<>""])*$# //HTTP协议的动态的URL
#(h|H)(r|R)(e|E)(f|F) *= *(|")?(w|\|/|.)+(|"| *|>)?# //HTML标签中的HREF属性
#(s|S)(r|R)(c|C) *= *(|")?(w|\|/|.)+(|"| *|>)?# //HTML标签中的SRC属性值
/^((+?[0-9]{2,4}-[0-9]{3,4}-)|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/
//带国家代、区号、分机号的固定电话号码
/^(((d{2,3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}(-d{1,4})?$/
//带国家代、区号、四位分机号的固定电话号码
/(d{3}-|d{4}-)?(d{8}|d{7})?/ //带区号的固定电话号码
/((d{3,4})|d{3,4}-|s)?d{8}/ //带区号的国内固定电话号码
/((d{3,4})|d{3,4}-|s)?d{7,14}/ //中国固定和移动电话号码
/^(((d{2,3}))|(d{3}-))?13d{9}$/ //手机号码
/^0d{2,3}$/ //电话区号
/(86)*0*13d{9}/ //带国家编码的中国手机号
/^[a-zA-Z][a-zA-Z0-9_]{4,15}$/ //帐号(字母开头,允许5-16字节,允许字母数字下划线)
/^[1-9]*[1-9][0-9]*$/ //腾讯QQ号
/^(select|drop|delete|create|update|insert).*$/ //SQL语句
/^[1-9]d{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]).(d{1,2}|1dd|2[0-4]d|25[0-5])$/
//IP地址