本系列博客汇总在这里:​​正则表达式汇总​


常用正则表达式


一、校验数字的表达式


  1. 数字:​​^[0-9]*$​
  2. n位的数字:​​^\d{n}$​
  3. 至少n位的数字:​​^\d{n,}$​
  4. m-n位的数字:​​^\d{m,n}$​
  5. 零和非零开头的数字:​​^(0|[1-9][0-9]*)$​
  6. 非零开头的最多带两位小数的数字:​​^([1-9][0-9]*)+(.[0-9]{1,2})?$​
  7. 带1-2位小数的正数或负数:​​^(\-)?\d+(\.\d{1,2})?$​
  8. 正数、负数、和小数:​​^(\-|\+)?\d+(\.\d+)?$​
  9. 有两位小数的正实数:​​^[0-9]+(.[0-9]{2})?$​
  10. 有1~3位小数的正实数:​​^[0-9]+(.[0-9]{1,3})?$​
  11. 非零的正整数:​​^[1-9]\d*$​​​ 或 ​​^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$​
  12. 非零的负整数:​​^\-[1-9][0-9] *$​​​ 或 ​​^-[1-9]\d*$​
  13. 非负整数:​​^\d+$ 或 ^[1-9]\d*|0$​
  14. 非正整数:​​^-[1-9]\d*|0$​​​ 或 ​​^((-\d+)|(0+))$​
  15. 非负浮点数:​​^\d+(\.\d+)?$​​​ 或 ​​^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$​
  16. 非正浮点数:​​^((-\d+(\.\d+)?)|(0+(\.0+)?))$​​​ 或 ​​^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$​
  17. 正浮点数:​​^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$​
  18. 负浮点数:​​^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$​
  19. 浮点数:​​^(-?\d+)(\.\d+)?$​​​ 或 ​​^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$​

二、校验字符的表达式


  1. 汉字:​​^[\u4e00-\u9fa5]{0,}$​
  2. 英文和数字:​​^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$​
  3. 长度为3-20的所有字符:​​^.{3,20}$​
  4. 由26个英文字母组成的字符串:​​^[A-Za-z]+$​
  5. 由26个大写英文字母组成的字符串:​​^[A-Z]+$​
  6. 由26个小写英文字母组成的字符串:​​^[a-z]+$​
  7. 由数字和26个英文字母组成的字符串:​​^[A-Za-z0-9]+$​
  8. 由数字、26个英文字母或者下划线组成的字符串:​​^\w+$​​​ 或 ​​^\w{3,20}$​
  9. 中文、英文、数字包括下划线:​​^[\u4E00-\u9FA5A-Za-z0-9_]+$​
  10. 中文、英文、数字但不包括下划线等符号:​​^[\u4E00-\u9FA5A-Za-z0-9]+$​
  11. 可以输入含有​​^%&',;=?$\"​​​等字符:​​[^%&',;=?$\x22]+​
  12. 禁止输入含有~“”的字符:​​[^~\x22]+​

三、特殊需求表达式


  1. Email地址:​​^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$​
  2. InternetURL:​​^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$​
  3. 手机号码:​​^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$​
  4. 国内电话号码(0511-4405222、021-87888822):​​\d{3}-\d{8}|\d{4}-\d{7}​
  5. 身份证号(15位、18位数字):​​^\d{15}|\d{18}$​
  6. 短身份证号码(数字、字母x结尾):​​^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$​
  7. 帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):​​^[a-zA-Z][a-zA-Z0-9_]{4,15}$​
  8. 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):​​^[a-zA-Z]\w{5,17}$​
  9. 日期格式:​​^\d{4}-\d{1,2}-\d{1,2}​
  10. 一年的12个月(01~09和1~12):​​^(0?[1-9]|1[0-2])$​
  11. 一个月的31天(01~09和1~31):​​^((0?[1-9])|((1|2)[0-9])|30|31)$​

如有错误,欢迎指正!