需要转义的符号$()*+.[]?^{},|

IP地址(IP address)ipv4:
RegExp:
^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)$Jquery:
(/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/.test(value) && (RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256));ipv6:RegExp:
^(([\da-fA-F]{1,4}):){7}([\da-fA-F]{1,4})$Jquery:
/^(([\da-fA-F]{1,4}):){7}([\da-fA-F]{1,4})$/.test(value);字母数字或下划线(letter, digit or underline)RegExp:
^[a-zA-Z0-9_]*$Jquery:
/^[a-zA-Z0-9_]*$/.test(value);3-20位字母或数字开头,允许字母数字下划线(start with letter or digit, length 3-20, allow underline)RegExp:
^[a-zA-Z0-9][a-zA-Z0-9_]{2,19}$Jquery:
/^[a-zA-Z0-9][a-zA-Z0-9_]{2,19}$/.test(value);真实姓名验证,姓名只能为2-30个汉字(name verification, length 2-30 Chinese character)RegExp:
^[\u4e00-\u9FA5]{2,30}$Jquery:
/^[\u4e00-\u9FA5]{2,30}$/.test(value);字符验证(all sorts of letter or digit or underline)RegExp:
^[\u0391-\uFFE5\w]+$Jquery:
/^[\u0391-\uFFE5\w]+$/.test(value);手机号码验证(mobile phone number)RegExp:
^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$Jquery:
(length == 11 && /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/.test(value));QQ号码验证(QQ)RegExp:
^[1-9][0-9]{4,}$Jquery:
/^[1-9][0-9]{4,}$/.test(value);身份证号(ID)RegExp: (not perfect)
^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}[0-9Xx]$Jquery:var area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}var idcard,Y,JYM;var S,M;var idcard_array = new Array();idcard_array = idcard.split("");//地区检验if(area[parseInt(idcard.substr(0,2))]==null) return Errors[4];//身份号码位数及格式检验
    switch(idcard.length){case 15:if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || ((parseInt(idcard.substr(6,2))+1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性} else {ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
            }if(ereg.test(idcard)) return Errors[0];else return Errors[2];break;case 18://18 位身份号码检测//出生日期的合法性检查//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6,4)) % 100 == 0 && parseInt(idcard.substr(6,4))%4 == 0 )){ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式} else {ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
            }if(ereg.test(idcard)) {//测试出生日期的合法性//计算校验位S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7+ (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9+ (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10+ (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5+ (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8+ (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4+ (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2+ parseInt(idcard_array[7]) * 1+ parseInt(idcard_array[8]) * 6+ parseInt(idcard_array[9]) * 3 ;Y = S % 11;M = "F";JYM = "10X98765432";M = JYM.substr(Y,1);//判断校验位if(M == idcard_array[17]) return Errors[0]; //检测ID的校验位else return Errors[3];}else return Errors[2];break;default:return Errors[1];break;ZIP范围(ZIP range)RegExp:
^90[2-5]\d\{2\}-\d{4}$Jquery:
/^90[2-5]\d\{2\}-\d{4}$/.test(value);ZIP code USRegExp:
\d{5}-\d{4}$|^\d{5}$Jquery:
/\d{5}-\d{4}$|^\d{5}$/.test(value);VINJquery:if (v.length !== 17) {return false;}var i, n, d, f, cd, cdv;var LL = ["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"];var VL = [1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9];var FL = [8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2];var rs = 0;for(i = 0; i < 17; i++){f = FL[i];d = v.slice(i,i+1);if (i === 8) {cdv = d;}if (!isNaN(d)) {d *= f;} else {for (n = 0; n < LL.length; n++) {if (d.toUpperCase() === LL[n]) {d = VL[n];d *= f;if (isNaN(cdv) && n === 8) {cdv = LL[n];}break;}}}rs += d;}cd = rs % 11;if (cd === 10) {cd = "X";}if (cd === cdv) {return true;}return false;

转载于:https://www.cnblogs.com/Bochao/p/11289501.html

常用正则表达式(regular expression)相关推荐

  1. 初步了解并使用正则表达式 (REGular EXPression)

    正则表达式(REGular EXPression),正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本.只有掌 ...

  2. java正则表达式及api_JAVA常用API:正则表达式regular expression

    一.正则表达式的概念 正则表达式,regular expression,在代码中通常简写成regex 正则表达式是一个字符串,使用每单个字符串来描述.定义匹配规则,匹配一系列符合某个语法规则的字符串. ...

  3. 正则表达式 匹配点号_Python入门:正则表达式(Regular Expression)

    正则表达式用来干嘛 正则表达式是用来匹配文本的一种语言.别被语言吓到,正则表达式其实非常简单,可能你花2个小时就能用起来,但是你一定会觉得非常强大,像非常厉害的数据爬取,网页爬虫,都要用到正则表达式! ...

  4. oracle的正则表达式(regular expression)简单介绍

    目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境. Oracle 10g正则表达式提高了SQL灵活性.有效的解 ...

  5. 正则表达式Regular Expression

    <编译原理>第三章习题 我们的教材是那本经典的"龙书":<Compiler: Principles, Techniques, and Tools> 灰常灰常 ...

  6. 正则表达式(regular expression)————以Qt为例

    文章目录 1 应用 2 简介 2.1 组成 2.2 特殊字符 2.2.1 匹配多个字符串 2.2.2 替换字符串 2.2.3 统计字符出现次数 2.3 Qt中使用 3 regexp结构集合 3.1 表 ...

  7. 通配符(WildCard)与正则表达式(Regular Expression)

    1.通配符(wildcard)就是万用牌的意思 * 表示匹配任意长度的任意字符 ? 表示匹配一个任意字符 [-]则表示匹配括号中列出的字符中的任意一个 [!..]表示不匹配括号中列出的字符中的任意一个 ...

  8. php中ip地址的正则表达式,PHP_IP地址正则表达式匹配方法,正则表达式(Regular Expression, - phpStudy...

    IP地址正则表达式匹配方法 正则表达式(Regular Expression,在代码中常简写为regex.regexp或RE)是计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个 ...

  9. Regular Expression:C++正则表达式库(RE库regex)

    正则表达式(Regular Expression)是一种描述字符序列的方法,是处理字符序列的一种强大的计算工具!(字符串的匹配.查找.替换) 1.ECMAScript :ECMA-262规范: ECM ...

  10. python 正则表达式(Regular Expression)基础学习笔记

    python 正则表达式(Regular Expression) 正则表达式基础 search():只返回第一个匹配的字符串 findall():将搜寻结果以列表方式返回 import re # 导入 ...

最新文章

  1. linux automake 卸载,linux下open-vswitch安装卸载操作
  2. C++中一个容易被忽视的名字查找规则
  3. Windows x64内核学习笔记(五)—— KPTI(未完待续)
  4. 服务器启动文件,[Zookeeper] 服务端之单机版服务器启动
  5. 【算法竞赛学习】二手车交易价格预测-Task4建模调参
  6. LeetCode MySQL 1205. 每月交易II(union all)*
  7. 在多任务(RTOS)环境中使用看门狗
  8. 【数据库】MySql分割字符串
  9. 嵌入式系统开发-麦子学院(2)——开发环境的搭建
  10. 医院his系统机房服务器,医院信息中心机房如何建设
  11. Via OpenCv Snake算法
  12. 搭建Hadoop环境(超详细)
  13. 根号3表白html,根号三的那句情话
  14. 浅谈大数据时代web数据可视化探析
  15. sql查询语句_多字段分类汇总_多表合并
  16. EVE模拟器关联CRT与Wireshark
  17. 初识大数据--Hadoop大数据平台架构与实践
  18. 煤炭行业管理平台解决方案,生产全过程价值管理,降本增效
  19. 【UN-JS-工具类】懒加载的实现 -- 两种方式 --- 一种5行JS实现懒加载
  20. 该死webgl_该死的简单可扩展菜单,没有任何额外的依赖

热门文章

  1. 鸿蒙面向开发者语言,华为正式发布鸿蒙OS 面向全球开发者开源!
  2. C语言——变量篇(一)变量关键字static、auto、extern、register
  3. while求和java,while语句基本练习(求和思想,统计思想)
  4. Hive基本操作入门
  5. uva1382 Distant Galaxy
  6. C++ 调用 SOAP Web Service
  7. 九爷 带你了解 nginx优化与防盗链
  8. 记TensorFlow项目开源一周年
  9. mysql 5.7.15发布
  10. 2016-08-12