常用正则表达式(regular expression)
需要转义的符号$()*+.[]?^{},| 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)相关推荐
- 初步了解并使用正则表达式 (REGular EXPression)
正则表达式(REGular EXPression),正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本.只有掌 ...
- java正则表达式及api_JAVA常用API:正则表达式regular expression
一.正则表达式的概念 正则表达式,regular expression,在代码中通常简写成regex 正则表达式是一个字符串,使用每单个字符串来描述.定义匹配规则,匹配一系列符合某个语法规则的字符串. ...
- 正则表达式 匹配点号_Python入门:正则表达式(Regular Expression)
正则表达式用来干嘛 正则表达式是用来匹配文本的一种语言.别被语言吓到,正则表达式其实非常简单,可能你花2个小时就能用起来,但是你一定会觉得非常强大,像非常厉害的数据爬取,网页爬虫,都要用到正则表达式! ...
- oracle的正则表达式(regular expression)简单介绍
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境. Oracle 10g正则表达式提高了SQL灵活性.有效的解 ...
- 正则表达式Regular Expression
<编译原理>第三章习题 我们的教材是那本经典的"龙书":<Compiler: Principles, Techniques, and Tools> 灰常灰常 ...
- 正则表达式(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 表 ...
- 通配符(WildCard)与正则表达式(Regular Expression)
1.通配符(wildcard)就是万用牌的意思 * 表示匹配任意长度的任意字符 ? 表示匹配一个任意字符 [-]则表示匹配括号中列出的字符中的任意一个 [!..]表示不匹配括号中列出的字符中的任意一个 ...
- php中ip地址的正则表达式,PHP_IP地址正则表达式匹配方法,正则表达式(Regular Expression, - phpStudy...
IP地址正则表达式匹配方法 正则表达式(Regular Expression,在代码中常简写为regex.regexp或RE)是计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个 ...
- Regular Expression:C++正则表达式库(RE库regex)
正则表达式(Regular Expression)是一种描述字符序列的方法,是处理字符序列的一种强大的计算工具!(字符串的匹配.查找.替换) 1.ECMAScript :ECMA-262规范: ECM ...
- python 正则表达式(Regular Expression)基础学习笔记
python 正则表达式(Regular Expression) 正则表达式基础 search():只返回第一个匹配的字符串 findall():将搜寻结果以列表方式返回 import re # 导入 ...
最新文章
- linux automake 卸载,linux下open-vswitch安装卸载操作
- C++中一个容易被忽视的名字查找规则
- Windows x64内核学习笔记(五)—— KPTI(未完待续)
- 服务器启动文件,[Zookeeper] 服务端之单机版服务器启动
- 【算法竞赛学习】二手车交易价格预测-Task4建模调参
- LeetCode MySQL 1205. 每月交易II(union all)*
- 在多任务(RTOS)环境中使用看门狗
- 【数据库】MySql分割字符串
- 嵌入式系统开发-麦子学院(2)——开发环境的搭建
- 医院his系统机房服务器,医院信息中心机房如何建设
- Via OpenCv Snake算法
- 搭建Hadoop环境(超详细)
- 根号3表白html,根号三的那句情话
- 浅谈大数据时代web数据可视化探析
- sql查询语句_多字段分类汇总_多表合并
- EVE模拟器关联CRT与Wireshark
- 初识大数据--Hadoop大数据平台架构与实践
- 煤炭行业管理平台解决方案,生产全过程价值管理,降本增效
- 【UN-JS-工具类】懒加载的实现 -- 两种方式 --- 一种5行JS实现懒加载
- 该死webgl_该死的简单可扩展菜单,没有任何额外的依赖