常用正则

收集常用正则表达式

校验数字的表达式

/** 数字:**/ ^[0-9]*$

/** n位的数字:**/ ^\d{n}$

/** 至少n位的数字:**/ ^\d{n,}$

/** m-n位的数字:**/ ^\d{m,n}$

/** 零和非零开头的数字:**/ ^(0|[1-9][0-9]*)$

/** 非零开头的最多带两位小数的数字:**/ ^([1-9][0-9]*)+(.[0-9]{1,2})?$

/** 带1-2位小数的正数或负数:**/ ^(\-)?\d+(\.\d{1,2})?$

/** 正数、负数、和小数:**/ ^(\-|\+)?\d+(\.\d+)?$

/** 有两位小数的正实数:**/ ^[0-9]+(.[0-9]{2})?$

/** 有1~3位小数的正实数:**/ ^[0-9]+(.[0-9]{1,3})?$

/** 非零的正整数:**/ ^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$

/** 非零的负整数:**/ ^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$

/** 非负整数:**/ ^\d+$ 或 ^[1-9]\d*|0$

/** 非正整数:**/ ^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$

/** 非负浮点数:**/ ^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

/** 非正浮点数:**/ ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

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

/** 负浮点数:**/ ^-([1-9]\d*\.\d*|0\.\d*[1-9]\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+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

校验字符的表达式

/** 汉字:**/ ^[\u4e00-\u9fa5]{0,}$

/** 英文和数字:**/ ^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

/** 长度为3-20的所有字符:**/ ^.{3,20}$

/** 由26个英文字母组成的字符串:**/ ^[A-Za-z]+$

/** 由26个大写英文字母组成的字符串:**/ ^[A-Z]+$

/** 由26个小写英文字母组成的字符串:**/ ^[a-z]+$

/** 由数字和26个英文字母组成的字符串:**/ ^[A-Za-z0-9]+$

/** 由数字、26个英文字母或者下划线组成的字符串:**/ ^\w+$ 或 ^\w{3,20}$

/** 中文、英文、数字包括下划线:**/ ^[\u4E00-\u9FA5A-Za-z0-9_]+$

/** 中文、英文、数字但不包括下划线等符号:**/ ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

/** 可以输入含有^%&',;=?$\"等字符:**/ [\^%&',;=\?\$\x22]+

/** 禁止输入含有~的字符:**/ [^~\x22]+

特殊需求表达式

用途

Regexp

用户名

/^[a-z0-9_-]{3,16}$/

密码

/^[a-z0-9_-]{6,18}$/

十六进制值

/^#?([a-f0-9]{6}|[a-f0-9]{3})$/

电子邮箱

/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/ /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/

URL

/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

IP 地址

/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/

HTML 标签

/^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/

删除代码\\注释

(?<!http:|\S)//.*$

Unicode编码中的汉字范围

/^[\u2E80-\u9FFF]+$/

Last updated