正则表达式验证_身份证
php正则判断是否为合法身份证号的方法
![php正则判断是否为合法身份证号的方法](https://img.taocdn.com/s3/m/46474674f4335a8102d276a20029bd64783e622b.png)
php正则判断是否为合法⾝份证号的⽅法本⽂实例讲述了php正则判断是否为合法⾝份证号的⽅法。
分享给⼤家供⼤家参考,具体如下:/*** 判断是否为合法的⾝份证号码* @param $mobile* @return int*/function isCreditNo($vStr){$vCity = array('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');if (!preg_match('/^([\d]{17}[xX\d]|[\d]{15})$/', $vStr)) return false;if (!in_array(substr($vStr, 0, 2), $vCity)) return false;$vStr = preg_replace('/[xX]$/i', 'a', $vStr);$vLength = strlen($vStr);if ($vLength == 18) {$vBirthday = substr($vStr, 6, 4) . '-' . substr($vStr, 10, 2) . '-' . substr($vStr, 12, 2);} else {$vBirthday = '19' . substr($vStr, 6, 2) . '-' . substr($vStr, 8, 2) . '-' . substr($vStr, 10, 2);}if (date('Y-m-d', strtotime($vBirthday)) != $vBirthday) return false;if ($vLength == 18) {$vSum = 0;for ($i = 17 ; $i >= 0 ; $i--) {$vSubStr = substr($vStr, 17 - $i, 1);$vSum += (pow(2, $i) % 11) * (($vSubStr == 'a') ? 10 : intval($vSubStr , 11));}if($vSum % 11 != 1) return false;}return true;}PS:这⾥再为⼤家提供2款⾮常⽅便的正则表达式⼯具供⼤家参考使⽤:另:再提供⼀款本站⾝份证归属地信息查询⼯具供⼤家参考:此外,本站在线⼯具⼩程序上也有⼀款功能更加强⼤的⾝份证信息获取⼯具,感兴趣的朋友可以扫描如下⼩程序码查看:更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家PHP程序设计有所帮助。
js身份证正则表达式
![js身份证正则表达式](https://img.taocdn.com/s3/m/6d621121f68a6529647d27284b73f242336c3192.png)
js身份证正则表达式JS身份证正则表达式是程序开发领域中一种非常重要的技术工具,本文讨论的是使用JS正则表达式来验证中国的身份证号码。
身份证号码是一种全球通用的身份认证凭证,它被广泛应用于各种场合,例如用于报名参加考试,办理选民证明,办理社会保险等。
本文主要介绍了JS身份证正则表达式在验证身份证号码时的应用,以及如何根据身份证号码提取性别和出生日期等信息。
什么是JS身份证正则表达式?JS正则表达式是一种特殊的文本模式,可以用来检查字符串中的文本结构,匹配模式可以是单个字符、单词或者句子等。
正则表达式是一种强大的字符串处理工具,在编写程序时可以大大简化字符串处理任务。
可以用来匹配字符串中预定义的模式,也可以用来替换或删除文本中的特定字符。
JS中的正则表达式可以用来验证身份证号码的合法性,但要注意的是当地的身份证号码的格式有可能会有所差别,因此必须根据不同的地区形式来构建正则表达式,以确保正确性。
根据中华人民共和国公民身份号码的构成,全国的有效身份证号码格式为1-2位省或直辖市代码(市/州代码+县/区代码)+ 6位数出生日期+3位顺序码+1位校验码,例如:,其中,440881表示广东省深圳市,19830109表示出生日期,4232表示顺序码,顺序码可以为偶数或奇数,最后一位是校验码,根据公式校验码可以计算出。
下面的正则表达式可用于验证中国的身份证号码:`^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}$|^[1-9]d{ 5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3}([0-9]|X)$`上述正则表达式可以用来验证15位和18位身份证号码的合法性。
此正则表达式可以使用JS的match方法来验证输入的身份证号码是否符合指定格式,如果是,则返回true,否则返回false:if(id.match(/^[1-9]d{7}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3} $|^[1-9]d{5}[1-9]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{3} ([0-9]|X)$/))另外,还可以使用正则表达式来从身份证号码中提取出性别和出生日期信息。
Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬虫利器)
![Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬虫利器)](https://img.taocdn.com/s3/m/4ad02477571252d380eb6294dd88d0d233d43c06.png)
Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬虫利器)Python正则表达式大全1.检验手机号要求:手机号码必须为11位数字,以1开头,第二位为1或5或8。
import redef verify_mobile():mob = input('请输入手机号码:')ret = re.match(r'1[358]d{9}', mob)if ret:print('手机号码匹配正确')else:print('匹配错误')verify_mobile()2.检验邮箱import redef verify_email():email = input('请输入邮箱:')ret = re.match(r'^[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+){0,4}@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+){0,4}$', email)if ret:print('邮箱匹配正确')else:print('匹配错误')verify_email()3.验证身份证import redef verify_card():card = input('请输入身份证:')ret = re.match(r'^([1-9]d{5}[12]d{3}(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])d{3}(d|X|x))$', card)if ret:print('身份证匹配正确')else:print('匹配错误')verify_card()4.检验年月日import redef verify_date():date = input('请输入年月日:')ret = re.match(r'^(d{4}-d{1,2}-d{1,2})$', date)if ret:print('日期匹配正确')else:print('匹配错误')verify_date()5.验证数字表达式匹配数字:^[0-9]*$匹配n位的数字:^d{n}$匹配零和非零开头的数字:^(0|[1-9][0-9]*)$匹配正数、负数、和小数:^(-|+)?d+(.d+)?$匹配非零的正整数:^[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)$匹配正浮点数:^[1-9]d*.d*|0.d*[1-9]d*$匹配负浮点数:^-([1-9]d*.d*|0.d*[1-9]d*)$匹配非正浮点数:^((-d+(.d+)?)|(0+(.0+)?))$匹配非负浮点数:^d+(.d+)?$ 或^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$6.验证字符表达式匹配汉字:^[一-龥]{0,}$匹配英文和数字:^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$匹配大写英文字母组成的字符串:^[A-Z]+$匹配小写英文字母组成的字符串:^[a-z]+$匹配大小写英文组成的字符串:^[A-Za-z]+$匹配中文、英文、数字包括下划线:^[一-龥A-Za-z0-9_]+$禁止输入含有~的字符:[^~x22]+x。
PHP实现身份证号正则验证(兼容15,18位)
![PHP实现身份证号正则验证(兼容15,18位)](https://img.taocdn.com/s3/m/ddf9a64f69eae009581becfb.png)
PHP实现身份证号正则验证(兼容15,18位)最近复习了正则表达式的使用,手痒痒就做了一份验证正则,身份证号验证(兼容15,18位) ,在注册验证的时候可以用上。
01 //比较菜鸟第一次分享代码02 //身份证号验证03 protected function checkIdCard(){04 if(empty($_POST['idcard'])){05 return false;06 }07 $idcard = $_POST['idcard'];08 $City = array(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=>"国外");09 $iSum = 0;10 $idCardLength = strlen($idcard);11 //长度验证12 if(!preg_match('/^\d{17}(\d|x)$/i',$idcard)and!preg_match('/^\d{15}$/i',$idcard))13 {14 return false;15 }16 //地区验证17 if(!array_key_exists(intval(substr($idcard,0,2)),$City))18 {19 return false;20 }21 // 15位身份证验证生日,转换为18位22 if ($idCardLength == 15)23 {24 $sBirthday = '19'.substr($idcard,6,2).'-'.substr($idcard,8,2).'-'.substr($idcard,10,2);25 $d = new DateTime($sBirthday);26 $dd = $d->format('Y-m-d');27 if($sBirthday != $dd)28 {29 return false;30 }31 $idcard = substr($idcard,0,6)."19".substr($idcard,6,9);//15to1832 $Bit18 = getVerifyBit($idcard);//算出第18位校验码33 $idcard = $idcard.$Bit18;34 }35 // 判断是否大于2078年,小于1900年36 $year = substr($idcard,6,4);37 if ($year<1900 || $year>2078 )38 {39 return false;40 }4142 //18位身份证处理43 $sBirthday = substr($idcard,6,4).'-'.substr($idcard,10,2).'-'.substr($idcard,12,2);44 $d = new DateTime($sBirthday);45 $dd = $d->format('Y-m-d');46 if($sBirthday != $dd)47 {48 return false;49 }50 //身份证编码规范验证51 $idcard_base = substr($idcard,0,17);52 if(strtoupper(substr($idcard,17,1)) != getVerifyBit($idcard_base))53 {54 return false;55 }56 return $_POST['idcard'];57 }5859 // 计算身份证校验码,根据国家标准GB 11643-199960 function getVerifyBit($idcard_base)61 {62 if(strlen($idcard_base) != 17)63 {64 return false;65 }66 //加权因子67 $factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);68 //校验码对应值69 $verify_number_list = array('1', '0', 'X', '9', '8', '7', '6', '5', '4','3', '2');70 $checksum = 0;71 for ($i = 0; $i < strlen($idcard_base); $i++)72 {73 $checksum += substr($idcard_base, $i, 1) * $factor[$i];74 }75 $mod = $checksum % 11;76 $verify_number = $verify_number_list[$mod];77 return $verify_number;78 }(来自:济宁网站制作——济宁辉腾文摘-- )。
敏感数据正则表达式
![敏感数据正则表达式](https://img.taocdn.com/s3/m/7e01c06ebdd126fff705cc1755270722192e598b.png)
敏感数据正则表达式在当今数字化的时代,数据的安全性越来越受到重视。
敏感数据是指那些需要受到特定保护的数据,包括但不限于个人身份信息、财务信息、医疗记录等。
为了确保敏感数据不被泄露或滥用,数据处理和存储中常常需要使用正则表达式来识别和保护这些敏感数据。
正则表达式是一种用来匹配和处理文本的强大工具。
它可以用来搜索、替换和验证文本数据。
在识别敏感数据方面,正则表达式可以帮助我们快速而准确地找到该数据。
下面是几个常见敏感数据的正则表达式示例:1. 身份证号码:正则表达式:\d{17}[\d|X]|\d{15}身份证号码是个人身份识别的重要信息,常用于身份验证和认证。
它由18位(或15位)数字组成,最后一位可以是数字或大写字母X。
这个正则表达式可用于匹配身份证号码。
2. 手机号码:正则表达式:^1[3456789]\d{9}$手机号码是个人联系方式的重要信息。
中国手机号码由11位数字组成,且以13、14、15、16、17、18、19开头。
这个正则表达式可以用来验证手机号码的有效性。
3. 银行卡号:正则表达式:\d{16,19}银行卡号是与个人财务信息关联的重要数据。
银行卡号通常为16到19位数字,此正则表达式可用于匹配银行卡号。
4. 电子邮件地址:正则表达式:[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+电子邮件地址是常用的通信和联系方式,包含一个账户名、@符号和域名。
这个正则表达式可以用来验证电子邮件地址的有效性。
这些正则表达式可以帮助我们快速准确地识别敏感数据。
在具体使用正则表达式时,可以配合编程语言如Python、Java等使用,使用相关的函数或模块进行数据的匹配和处理。
然而,正则表达式仅仅是一种识别敏感数据的工具,它不能完全保证数据的安全。
为了更好地保护敏感数据,我们还需要采取其他安全措施,如加密、访问控制、数据备份等。
同时,在使用正则表达式识别敏感数据时,也要注意保护数据的隐私性,遵守相关法律法规,避免未授权的访问和使用。
java对身份证验证及正则表达式解析
![java对身份证验证及正则表达式解析](https://img.taocdn.com/s3/m/4b5e1a2a59fb770bf78a6529647d27284b73374e.png)
java对⾝份证验证及正则表达式解析原⽂地址:/zhongshengzhen/java对⾝份证验证及正则表达式解析package service;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.regex.Pattern;import org.junit.Test;public class TestRegex {public static boolean isChineseName(String realname){return Pattern.matches("[\u4e00-\u9fa5|·]{2,15}",realname);}public static boolean isCardId(String cardid){return Pattern.matches("^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([\\d|x|X]{1})$", cardid);}public static String[] randomArray(int length){int index = 0;String temp = ",";for(int ii=0;ii<1000;ii++){for(int i=0;i<length;i++){index = (int) (Math.random()*10);temp += ( index + "");}temp +=",";}return temp.split(",");}//⾝份证前1位每位加权因⼦private static int[] power = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};//⾝份证第18位校检码private static String[] refNumber ={"1", "0", "X", "9", "8", "7", "6", "5", "4", "3"};//省(直辖市)代码表private String provinceCode[] = { "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" };/*** 检查⾝份证的省份信息是否正确(使⽤与18/15位⾝份证)* @param provinceid* @return*/public boolean checkProvinceId(String provinceid){for (String id : provinceCode) {if (id.equals(provinceid)) {return true;}}return false;}/*** 校验⾝份证第18位是否正确(只适合18位⾝份证)* @param cardId* @return*/public static boolean checkCardIdLastNum(String cardId){if(cardId.length() != 18){return false;}char[] tmp = cardId.toCharArray();int[] cardidArray = new int[tmp.length-1];int i=0;for(i=0;i<tmp.length-1;i++){cardidArray[i] = Integer.parseInt(tmp[i]+"");}String checkCode = sumPower(cardidArray);String lastNum = tmp[tmp.length-1] + "";if(lastNum.equals("x")){lastNum = lastNum.toUpperCase();}if(!checkCode.equals(lastNum)){return false;}return true;}/*** 计算⾝份证的第⼗⼋位校验码* @param cardidArray* @return*/public static String sumPower(int[] cardidArray){int result = 0;for(int i=0;i<power.length;i++){result += power[i] * cardidArray[i];}return refNumber[(result%11)];}/*** 判断⽇期是否有效* @param inDate* @return*/public boolean isValidDate(String inDate) {if (inDate == null){return false;}SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");if (inDate.trim().length() != dateFormat.toPattern().length()){return false;}dateFormat.setLenient(false);//严格的⽇期匹配try {dateFormat.parse(inDate.trim());} catch (ParseException e) {return false;}return true;}//@Testpublic void testName(){String[] array = {"钟·","在哪"};for(int i=0;i<array.length;i++){System.out.println(array[i]+":"+isChineseName(array[i]));}}////@Testpublic void testCardId(){String[] array = randomArray(18);int index = 0,sum =0;for(int i=0;i<array.length;i++){sum += 1;if(isCardId(array[i])){index += 1;}System.out.println(array[i]+":"+isCardId(array[i]));}double ret = index/sum;System.out.println(index+","+sum+","+ret);}//@Testpublic void testArray(){String[] array = randomArray(15);for(int i=0;i<array.length;i++){System.out.println(array[i]);}}//@Testpublic void testLastNum(){String[] cardId = {"440982199563272359","430102************"};for(int i=0;i<cardId.length;i++){System.out.println(cardId[i]+":"+checkCardIdLastNum(cardId[i]));}}//@Testpublic void testProcince(){String[] cardId = {"440982199563272359","430102************"};for(int i=0;i<cardId.length;i++){System.out.println(cardId[i].substring(0,2)+":"+checkProvinceId(cardId[i].substring(0,2))); }}@Testpublic void testDate(){//String[] cardId = {"440982************","430102************"};String cardId[] = {"445102************","131100************","510421************","340823************","340703************","440982************","130203************","321101************","340501************","330424************","610402************","230826************","350305************","450881************","220282************","341723************","451024************","330727************","411626************","230605************","210681************","511821************","622923************",};for(int i=0;i<cardId.length;i++){System.out.println(cardId[i].substring(6,14)+":"+isValidDate(cardId[i].substring(6,14))); }}}。
常用正则表达式,手机号、固话号、身份证号等
![常用正则表达式,手机号、固话号、身份证号等](https://img.taocdn.com/s3/m/dd41715eac02de80d4d8d15abe23482fb4da024b.png)
常⽤正则表达式,⼿机号、固话号、⾝份证号等⼿机号码正则表达式验证function checkPhone(){var phone = document.getElementById('phone').value;if(!(/^1[34578]\d{9}$/.test(phone))){alert("⼿机号码有误,请重填");return false;}}或者是function checkPhone(){var phone = document.getElementById('phone').value;if(!(/^1(3|4|5|7|8)\d{9}$/.test(phone))){alert("⼿机号码有误,请重填");return false;}}注:⼩括号就是括号内看成⼀个整体 ,中括号就是匹配括号内的其中⼀个正则⾥⾯的中括号[]只能匹配其中⼀个,如果要匹配特定⼏组字符串的话,那就必须使⽤⼩括号()加或|,我还以为在中括号中也能使⽤或|符号,原来|在中括号⾥⾯也是⼀个字符,并不代表或。
[3457]匹配3或者4或者5或者7,⽽(3457)只匹配3457,若要跟前⾯⼀样可以加或(3|4|5|7)。
[34|57]匹配3或者4或者|或者5或者7.⽽(34|57)能匹配34或者57。
固定电话号码正则表达式:function checkTel(){var tel = document.getElementById('tel').value;if(!/^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(tel)){alert('固定电话有误,请重填');return false;}}⾝份证校验//⾝份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//⾝份证正则表达式(18位)isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;⾝份证正则合并:(^\d{15}$)|(^\d{17}([0-9]|X)$)提取信息中的⽹络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*提取信息中的图⽚链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}提取信息中的中国邮政编码:[1-9]{1}(\d+){5}提取信息中的中国⾝份证号码:\d{18}|\d{15}提取信息中的整数:\d+提取信息中的浮点数(即⼩数):(-?\d*)\.?\d+提取信息中的任何数字:(-?\d*)(\.\d+)?提取信息中的中⽂字符串:[\u4e00-\u9fa5]*提取信息中的双字节字符串 (汉字):[^\x00-\xff]*使⽤⽅法:test()⽅法在字符串中查找是否存在指定的正则表达式,并返回布尔值,如果存在则返回true,否则返回false。
jquery正则表达式验证(手机号、身份证号、中文名称)
![jquery正则表达式验证(手机号、身份证号、中文名称)](https://img.taocdn.com/s3/m/1163340e58eef8c75fbfc77da26925c52cc59142.png)
jquery正则表达式验证(⼿机号、⾝份证号、中⽂名称)本⽂实例需要验证的内容:中⽂姓名、⼿机号、⾝份证和地址,验证⽅法分享给⼤家供⼤家参考,具体内容如下HTML(表单):<form action=""><div class="form-group"><label>姓名:</label><input id="name" type="text"></div><div class="form-group"><label>⼿机号:</label><input id="phone" type="text"></div><div class="form-group"><label>⾝份证:</label><input id="identity" type="text"></div><div class="form-group"><label class="label-textarea">邮寄地址:</label><textarea id="address"></textarea></div><p class="tip">请填写实名认证信息,以便领奖资料⼀经提交⽆法修改,请慎重填写!</p><div class="btn-group"><button class="btn btn-md btn-purple" type="reset">取消</button><button class="btn btn-md btn-purple ml-20" id="submit" type="button">提交</button></div></form>jQuery验证:test()⽅法判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false )// 验证中⽂名称function isChinaName(name) {var pattern = /^[\u4E00-\u9FA5]{1,6}$/;return pattern.test(name);}// 验证⼿机号function isPhoneNo(phone) {var pattern = /^1[34578]\d{9}$/;return pattern.test(phone);}// 验证⾝份证function isCardNo(card) {var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;return pattern.test(card);}// 验证函数function formValidate() {var str = '';// 判断名称if($.trim($('#name').val()).length == 0) {str += '名称没有输⼊\n';$('#name').focus();} else {if(isChinaName($.trim($('#name').val())) == false) {str += '名称不合法\n';$('#name').focus();}}// 判断⼿机号码if ($.trim($('#phone').val()).length == 0) {str += '⼿机号没有输⼊\n';$('#phone').focus();} else {if(isPhoneNo($.trim($('#phone').val()) == false)) {str += '⼿机号码不正确\n';$('#phone').focus();}}// 验证⾝份证if($.trim($('#identity').val()).length == 0) {str += '⾝份证号码没有输⼊\n';$('#identity').focus();} else {if(isCardNo($.trim($('#identity').val())) == false) {str += '⾝份证号不正确;\n';$('#identity').focus();}}// 验证地址if($.trim($('#address').val()).length == 0) {str += '地址没有输⼊\n';$('#address').focus();}// 如果没有错误则提交if(str != '') {alert(str);return false;} else {$('.auth-form').submit();}}$('#submit').on('click', function() {formValidate();});希望本⽂所述对⼤家学习jquery程序设计有所帮助。
正则表达式匹配身份证电话号码邮箱住宅电话邮编等
![正则表达式匹配身份证电话号码邮箱住宅电话邮编等](https://img.taocdn.com/s3/m/e81f9dd3d4bbfd0a79563c1ec5da50e2524dd1b8.png)
正则表达式匹配⾝份证电话号码邮箱住宅电话邮编等⾝份证号码的匹配⼤陆的居民⾝份证号码有两种:18位和15位,15位的⾝份证号码是⽼⼀代⾝份证号码。
18位和15位的区别在于两个部分:第⼀,18位号码的年份以4位计⽽15位号码的年份为2位,如1987年在18位号码中为‘1987’⽽在15位号码中为‘87’,这⾥1987只是作为⼀个例⼦可能1987年及以后根本不存在15位号码;第⼆处不同在于18位号码的最后⼀位为数字校验码,15位号码没有数字校验位。
好吧,可能你还不知道⾝份证号码各个部分代表着什么,那么让我简略地介绍⼀下。
⾝份证号码总共有4个部分(15位号码只有3部分),从左向右分别为:第⼀部分有6位,为居民在办理⾝份证时户⼝所在地的地址码(什么是地址码?⾃⼰到统计局去找吧,地址如下:);第⼆部分有8位(15位号码为6位),为居民出⽣⽇期码;第三部分有3位,为数字顺序码,也就是同⼀天出⽣的⼈的⼀个排序,奇数代表男性⽽偶数代表⼥性;第四部分也就是最后⼀部分有1位,为数字校验码,此部分只有18位号码才有,关于数字校验码怎样计算得出,稍后会详述。
先举个例⼦吧,假设存在以下⾝份证号码:350525************(15位的话为350525*********),⽤‘-’号将各部分区分如下:350525-19870101-888-X。
其中,350525为地址码,没错,到统计局查询的结果是‘福建省永春县’——⼀个桃园胜境,算了,不废话;19870101为出⽣⽇期码,呵呵,1987年1⽉1⽇这⼀天出⽣的⼈肯定是有滴;888为顺序码,估计1987年1⽉1⽇第888个出⽣的⼈应该没有吧,倘若真的有,那真不是⼈,是神!!呵呵,估计我党也不会给神这个号码,不多说了,再多说可能要⼈神共怒了……好吧,那么X是什么呢?怎么有些⼈的⾝份证号码最后⼀位会突然冒出⼀个X呢,是这些⼈⽐较特殊吗?答案是:不是的,也算是吧,倘若有⼀种个位数等于10,这些⼈也不⽤在⾝份证号码的最后⼀位被不明不⽩地加上⼀个X了,究竟是怎么⼀回事且听我细细道来^_^18位居民⾝份证号码最后⼀位——数字校验码的计算⽅法:1. 将⾝份证号码的前17位数分别乘以以下系数:7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2;2. 将以上分别相乘得到的结果相加;3. 将以上相加的结果除以11,得出余数;4. 以上得出的余数可能为0 - 10这11个数中的某⼀个数字。
uni-app中正则表达式验证手机号,身份证号输入格式是否正确
![uni-app中正则表达式验证手机号,身份证号输入格式是否正确](https://img.taocdn.com/s3/m/cddde595b8d528ea81c758f5f61fb7360b4c2bf6.png)
uni-app中正则表达式验证⼿机号,⾝份证号输⼊格式是否正确在⽤户提交信息的时候通常会输⼊⼿机号之类的,所以需要前端在提交的时候验证其输⼊的格式是否正确,以是在uni-app项⽬中,仅展⽰验证部分内容⼿机号:let reg = /^[1][3,4,5,7,8,9][0-9]{9}$/ //正则表达式定义⼿机号正确格式if (!this.tele) { //判断如果⼿机号(this.tele)为空,提⽰⽤户输⼊⼿机号uni.showToast({title: '请输⼊⼿机号',icon: 'none'})return}if (!reg.test(this.tele)) { //判断⼿机号格式时候正确uni.showToast({title: '请输⼊正确的⼿机号',icon: 'none'})return}⾝份证号:let reg1 = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/[]() //正则表达式定义⾝份证号正确格式if (!this.card_num) { //判断如果⾝份证号(this.card)num)为空,提⽰⽤户输⼊⾝份证号uni.showToast({title: '请输⼊⾝份证号',icon: 'none'})return}if (!reg1.test(this.card_num)) { //判断⾝份证号格式时候正确uni.showToast({title: '请输⼊正确的⾝份证号',icon: 'none'})return}。
正则表达式-身份证号码验证
![正则表达式-身份证号码验证](https://img.taocdn.com/s3/m/0f7f405bf11dc281e53a580216fc700abb6852e1.png)
正则表达式-⾝份证号码验证⾝份证号码验证,包含两代⾝份证,第⼀代和第⼆代⾝份证第⼀代⾝份证15位,其编码规则顺序从左⾄右依次为6位数字地址码,6位数字出⽣年份后两位及⽇期,3位数字顺序码。
格式:^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$正则表达式分解如下:[1-9]\d{5}:前六位地区,⾮0开头\d{2} :出⽣年份后两位00-99((0[1-9])|(10|11|12)):⽉份,01-12⽉(([0-2][1-9])|10|20|30|31):⽇期,01-31天\d{3}:顺序码三位,没有校验码第⼆代⾝份证18位,其编码规则顺序从左⾄右依次为6位数字地址码,8位数字出⽣年份⽇期码,3位数字顺序码,1位数字校验码(X有时会出现):格式: ^[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} :前六位地区,⾮0开头(18|19|([23]\d))\d{2}:出⾝年份,覆盖范围为 1800-3999 年((0[1-9])|(10|11|12)):⽉份,01-12⽉(([0-2][1-9])|10|20|30|31):⽇期,01-31天\d{3}[0-9Xx]:顺序码三位 + ⼀位校验码程序:private void BtnOK_Click(object sender, RoutedEventArgs e){if (string.IsNullOrEmpty(tbxName.Text)){MessageBox.Show($"姓名不可为空,请重新输⼊!");tbxName.Focus();return;}Name = tbxName.Text;Regex re = new Regex(@"(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)|(^[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]$)");if (re.IsMatch(tbxIDNumber.Text)){IDNumber = tbxIDNumber.Text;MessageBox.Show($"姓名:{Name},⾝份证号码:{IDNumber},符合规则");Close();}else{MessageBox.Show($"⾝份证号码格式不正确,请输⼊15或者18位的⾝份证号码。
JavaScript正则表达式验证身份证号码是否合法(两种方法)讲解
![JavaScript正则表达式验证身份证号码是否合法(两种方法)讲解](https://img.taocdn.com/s3/m/b94a607dcaaedd3383c4d3e9.png)
JavaScript正则表达式验证身份证号码是否合法(两种方法)正则表达式(regular expression)是一个描述字符模式的对象。
下面通过本篇文章给大家介绍js正则表达式验证身份证号码是否合法,需要的朋友可以参考下本篇文章第一种方法:在用户注册页面有些需求要求的比较严格,需要对身份证js验证是否合法,通过此功能严格此系统软件,从而过滤到很多水客。
下面就此实现方法给大家讲解下。
很多时候我们都是通过一组正则表达式来判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息:1、号码的结构公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。
排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。
2、地址码(前六位数)表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按gb/T2260的规定执行。
3、出生日期码(第七位至十四位)表示编码对象出生的年、月、日,按gb/T7408的规定执行,年、月、日代码之间不用分隔符。
4、顺序码(第十五位至十七位)表示在同一地址码所标识的区域范围内,对同年、同月、同日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配给女性。
5、校验码(第十八位数)作为尾号的校验码,是由号码编制单位按统一的公式计算出来的,如果某人的尾号是0-9,都不会出现X,但如果尾号是10,那么就得用X来代替,因为如果用10做尾号,那么此人的身份证就变成了19位。
X是罗马数字的10,用X来代替10,可以保证公民的身份证符合国家标准。
在知道身份证号结构组成各部分的意思后,我们开始进入主题:1、定义一个全国地区的对象var aCity={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:"国外"}2、正则表达式判断第二种方法:6768697071727374757677787980818283848586位),皆为数字if(len == '15'){var re_fifteen = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/;var arr_data = obj.match(re_fifteen);var year = arr_data[2];var month = arr_data[3];var day = arr_data[4];var birthday = new Date('19'+year+'/'+month+'/'+day);return verifyBirthday('19'+year,month,day,birthday);}//身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为Xif(len == '18'){var re_eighteen = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/;var arr_data = obj.match(re_eighteen);var year = arr_data[2];var month = arr_data[3];var day = arr_data[4];var birthday = new Date(year+'/'+month+'/'+day);return verifyBirthday(year,month,day,birthday);}return false;。
正则表达式的测试用例
![正则表达式的测试用例](https://img.taocdn.com/s3/m/7cf21c59f4335a8102d276a20029bd64793e624d.png)
正则表达式的测试用例1. 匹配手机号码:正则表达式:^1[3-9]\d{9}$这个正则表达式可以用来验证一个字符串是否是合法的中国手机号码。
它要求字符串以1开头,后面跟着3-9之间的一个数字,并且后面还有9个数字。
使用这个正则表达式,可以很方便地判断一个字符串是否是手机号码。
2. 匹配邮箱地址:正则表达式:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$这个正则表达式可以用来验证一个字符串是否是合法的邮箱地址。
它要求字符串由英文字母、数字、下划线和短横线组成,开头和结尾不能是下划线和短横线,中间必须有一个@符号,@符号后面必须有一个点,点后面必须是由字母、数字、下划线和短横线组成的域名。
使用这个正则表达式,可以很方便地判断一个字符串是否是邮箱地址。
3. 匹配身份证号码:正则表达式:^\d{17}[\dX]$这个正则表达式可以用来验证一个字符串是否是合法的中国身份证号码。
它要求字符串由18个字符组成,前17个是数字,最后一个可以是数字或字母X。
使用这个正则表达式,可以很方便地判断一个字符串是否是身份证号码。
4. 匹配IP地址:正则表达式:^((25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$这个正则表达式可以用来验证一个字符串是否是合法的IP地址。
它要求字符串由4个数字和3个点组成,每个数字的取值范围是0-255。
使用这个正则表达式,可以很方便地判断一个字符串是否是IP地址。
5. 匹配URL地址:正则表达式:^(https?|ftp)://[^\s/$.?#].[^\s]*$这个正则表达式可以用来验证一个字符串是否是合法的URL地址。
它要求字符串以http、https或ftp开头,后面跟着一个冒号和两个斜杠,然后是任意非空白字符,最后是任意非空白字符的组合。
正则表达式实例
![正则表达式实例](https://img.taocdn.com/s3/m/05e0f8cdb14e852458fb5749.png)
2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
3.验证手机号码:"^1[3|4|5|7|8][0-9]{9}$";
34.匹配中国邮政编码:[1-9]\\d{5}(?!\d)
评注:中国邮政编码为6位数字
35.匹配ip地址:([1-9]{1,3}\.){3}[1-9]。
评注:提取ip地址时有用
36.匹配MAC地址:([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]
Function IsRegu(Regu,s)
7.整数或者小数:^[0-9]+([.][0-9]+){0,1}$
8.只能输入数字:"^[0-9]*$"。
9.只能输入n位的数字:"^\d{n}$"。
10.只能输入至少n位的数字:"^\d{n,}$"。
11.只能输入m~n位的数字:"^\d{m,n}$"。
12.只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。
27.匹配双字节字符(包括汉字在内):[^\x00-\xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
28.匹配空白行的正则表达式:\n\s*\r
评注:可以用来删除空白行
29.匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</>|<.*? />
iOS常用正则表达式验证(手机号、密码格式、身份证号等)
![iOS常用正则表达式验证(手机号、密码格式、身份证号等)](https://img.taocdn.com/s3/m/c13af210fd4ffe4733687e21af45b307e871f930.png)
iOS常⽤正则表达式验证(⼿机号、密码格式、⾝份证号等)#import@interfaceUtils : NSObject#pragma 正则匹配⼿机号+ (BOOL)checkTelNumber:(NSString*) telNumber;#pragma 正则匹配⽤户密码6-18位数字和字母组合+ (BOOL)checkPassword:(NSString*) password;#pragma 正则匹配⽤户姓名,20位的中⽂或英⽂+ (BOOL)checkUserName : (NSString*) userName;#pragma 正则匹配⽤户⾝份证号+ (BOOL)checkUserIdCard: (NSString*) idCard;#pragma 正则匹员⼯号,12位的数字+ (BOOL)checkEmployeeNumber : (NSString*) number;#pragma 正则匹配URL+ (BOOL)checkURL : (NSString*) url;@end#import "Utils.h"@implementationUtils#pragma 正则匹配⼿机号+ (BOOL)checkTelNumber:(NSString*) telNumber{NSString*pattern =@"^1+[3578]+\\d{9}";NSPredicate*pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",pattern];BOOLisMatch = [predevaluateWithObject:telNumber];returnisMatch;}#pragma 正则匹配⽤户密码6-18位数字和字母组合+ (BOOL)checkPassword:(NSString*) password{NSString*pattern =@"^(?![0-9]+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{6,18}";NSPredicate*pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",pattern];BOOLisMatch = [predevaluateWithObject:password];returnisMatch;}#pragma 正则匹配⽤户姓名,20位的中⽂或英⽂+ (BOOL)checkUserName : (NSString*) userName{NSString*pattern =@"^[a-zA-Z\u4E00-\u9FA5]{1,20}";NSPredicate*pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",pattern]; BOOLisMatch = [predevaluateWithObject:userName];returnisMatch;}#pragma 正则匹配⽤户⾝份证号15或18位+ (BOOL)checkUserIdCard: (NSString*) idCard{NSString*pattern =@"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)";NSPredicate*pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",pattern]; BOOLisMatch = [predevaluateWithObject:idCard];returnisMatch;}#pragma 正则匹员⼯号,12位的数字+ (BOOL)checkEmployeeNumber : (NSString*) number{NSString*pattern =@"^[0-9]{12}";NSPredicate*pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",pattern]; BOOLisMatch = [predevaluateWithObject:number];returnisMatch;}#pragma 正则匹配URL+ (BOOL)checkURL : (NSString*) url{NSString*pattern =@"^[0-9A-Za-z]{1,50}";NSPredicate*pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",pattern]; BOOLisMatch = [predevaluateWithObject:url];returnisMatch;}@end。
最权威的身份证号码正则表达式
![最权威的身份证号码正则表达式](https://img.taocdn.com/s3/m/d61e1d20b4daa58da0114a49.png)
//身份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式(18位)isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;地区、性别和身份证进行判断的正则表达式:<script>varaCity={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:"国外"}function cidInfo(sId){var iSum=0var info=""if(!/^\d{17}(\d|x)$/i.test(sId))return false;sId=sId.replace(/x$/i,"a");if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地区";sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2));var d=new Date(sBirthday.replace(/-/g,"/"))if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日";for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11)if(iSum%11!=1)return "Error:非法证号";return aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")}</script>。
正则表达式验证手机号身份证号银行卡号姓名输入
![正则表达式验证手机号身份证号银行卡号姓名输入](https://img.taocdn.com/s3/m/aa495499690203d8ce2f0066f5335a8102d266ee.png)
正则表达式验证⼿机号⾝份证号银⾏卡号姓名输⼊⼿机号验证var mobile = /^1[3|4|5|7|8]\d{9}$/;mobile.test(value);⽣⽇格式转换'20171102'.replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3")邮箱验证var mm = /^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$|^1[3|4|5|7|8]\d{9}$/;mm.test(value);⾝份证号验证var isIDCard1 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//(15位)var isIDCard2 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;//(18位)isIDCard1.test(value);isIDCard2.test(value)姓名输⼊2-8var realname = /^([\u4e00-\u9fa5]{2,8}|[a-zA-Z]{2,16})$/g;realname.test(value);姓名只取前后2字符str.replace(/^(.).+(.)$/g, "$1*$2");银⾏卡号取前6后4str.replace(/^(.{6}).+(.{4})$/g, "$1******$2");⾝份证号码取前6后4位 data.replace(/^(.{6})(?:\d+)(.{4})$/, "$1****$2");⼿机号码取前3后4位 data.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');银⾏卡号验证jQuery.validator.addMethod("checkCardNumber", function (value, element) {return this.optional(element) || (luhmCheck(value));}, "卡号输⼊有误,请检查输⼊");//Description: 银⾏卡号Luhm校验//Luhm校验规则:16位银⾏卡号(19位通⽤):// 1.将未带校验位的 15(或18)位卡号从右依次编号 1 到 15(18),位于奇数位号上的数字乘以 2。
正则表达式截取身份证号码加密的方法
![正则表达式截取身份证号码加密的方法](https://img.taocdn.com/s3/m/fff49e1b4b7302768e9951e79b89680203d86b48.png)
正则表达式截取⾝份证号码加密的⽅法下⾯⼀段简单的代码给⼤家介绍正则表达式截取⾝份证号码加密的⽅法,具体代码如下所⽰:直接上代码:var idCard = '420119188404098978X';//保留前四位和后四位,中间⽤*号加密idCard = idCard.replace(/(\d{4})\d*([0-9a-zA-Z]{4})/,"$1******$2");//结果:4201******978XPS:下⾯介绍⽐较规范的⾝份证号验证正则表达式⼀些要求⽤户信息⽐较严格的地⽅⽐如⽤户注册、登录的时候都需要验证⽤户的⾝份证是否合法,⽽通过这些验证能⼤⼤的过滤掉很多⽔客,给你的系统带来⾮常精准的⽤户信息。
很多时候我们都是通过⼀组正则表达式来判断⽤户输⼊的⾝份证是否合法,那在⽤正则表达式判断之前,你对⾝份证号的组成有多少了解呢?下⾯来说说⼀个⾝份证号⾥⾯包含了多少的信息: 1、号码的结构 公民⾝份号码是特征组合码,由⼗七位数字本体码和⼀位校验码组成。
排列顺序从左⾄右依次为:六位数字地址码,⼋位数字出⽣⽇期码,三位数字顺序码和⼀位数字校验码。
2、地址码(前六位数) 表⽰编码对象常住户⼝所在县(市、旗、区)的⾏政区划代码,按gb/T2260的规定执⾏。
3、出⽣⽇期码(第七位⾄⼗四位) 表⽰编码对象出⽣的年、⽉、⽇,按gb/T7408的规定执⾏,年、⽉、⽇代码之间不⽤分隔符。
4、顺序码(第⼗五位⾄⼗七位) 表⽰在同⼀地址码所标识的区域范围内,对同年、同⽉、同⽇出⽣的⼈编定的顺序号,顺序码的奇数分配给男性,偶数分配给⼥性。
5、校验码(第⼗⼋位数) 作为尾号的校验码,是由号码编制单位按统⼀的公式计算出来的,如果某⼈的尾号是0-9,都不会出现X,但如果尾号是10,那么就得⽤X来代替,因为如果⽤10做尾号,那么此⼈的⾝份证就变成了19位。
X是罗马数字的10,⽤X来代替10,可以保证公民的⾝份证符合国家标准。
正则表达式经典案例
![正则表达式经典案例](https://img.taocdn.com/s3/m/dd18d3dbe109581b6bd97f19227916888486b9c0.png)
正则表达式经典案例正则表达式是一种强大的文本匹配工具,可以用来匹配、查找、替换文本中的特定模式。
在实际应用中,正则表达式经常被用来处理各种文本数据,例如日志文件、网页源代码、邮件等等。
下面列举了一些正则表达式经典案例,供大家参考。
1. 匹配邮箱地址邮箱地址是一种常见的文本格式,通常由用户名、@符号和域名组成。
使用正则表达式可以方便地匹配出符合要求的邮箱地址。
例如,下面的正则表达式可以匹配出常见的邮箱地址:```^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$```这个正则表达式的含义是:以字母、数字、下划线、点、加号、减号、百分号为开头,后面跟着一个@符号,然后是一个或多个字母、数字、点、减号,最后是一个点和两个或多个字母。
2. 匹配IP地址IP地址是网络通信中的重要概念,使用正则表达式可以方便地匹配出符合要求的IP地址。
例如,下面的正则表达式可以匹配出IPv4地址:```^((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]?)$```这个正则表达式的含义是:以一个数字为开头,后面跟着一个点和三个数字,重复三次,最后以一个数字结尾。
其中,25[0-5]表示250到255之间的数字,2[0-4][0-9]表示200到249之间的数字,[01]?[0-9][0-9]?表示0到199之间的数字。
3. 匹配URL地址URL地址是网页中的重要元素,使用正则表达式可以方便地匹配出符合要求的URL地址。
例如,下面的正则表达式可以匹配出常见的URL地址:```^(https?|ftp)://[^\s/$.?#].[^\s]*$```这个正则表达式的含义是:以http、https或ftp为开头,后面跟着一个冒号和两个斜杠,然后是一个或多个非空白字符,接着是一个点和零个或多个非空白字符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<script type="text/javascript" src="/BPFWeb/easyui/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="/BPFWeb/easyui/jquery.easyui.min.js"></script>
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="org.ofbiz.entity.condition.EntityCondition"%>
<%@page import="java.sql.Timestamp,java.util.*"%>
<%@page import="com.xbstar.application.patrol.manager.PageViewManager,com.xbstar.util.StringHelper,com.xbstar.util.PageUtilsForDetail,com.xbstar.appMgr.*"%>
var reg2 = /^0\d{2,3}-?\d{7,8}$/;
if(reg1.test(stp) || reg2.test(stp)){
}else{
alert("请输入正确的手机号码或则固定电话号码!");return false;
}
}
function isCardID(){
if(!reg.test(cn)){
alert("请输入数字!");return false;
}
}
function isTelPhone(){
var stp = $('#mobileNum').val();
var reg1 = /^1[3|4|5|7|8|9]\d{9}$/;
var valnum;
var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');
ቤተ መጻሕፍቲ ባይዱ if (length == 15)
{
re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
var arrSplit = sId.match(re);
//检查生日日期是否正确
var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]);
<script type="text/javascript" src="/BPFWeb/application/sms/js/commons.js"></script>
<script type="text/javascript" src="/BPFWeb/easyui/locale/easyui-lang-zh_CN.js"></script>
String mobileNum = request.getParameter("mobileNum");
ArrayList<String> listSum = new ArrayList<String>();
int countIssuer = 0;
int max=0;
String countIsString= null;
}
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DataGrid ContextMenu - jQuery EasyUI Demo</title>
<%@page import="org.ofbiz.entity.GenericValue"%>
<%@page import="com.xbstar.application.tzsb.dao.SaveInfo"%>
<%@page import="com.xbstar.util.LeftMenu,com.xbstar.util.LeftMenu,com.xbstar.entity.LeftMenuCache,org.ofbiz.entity.*,java.util.*,org.ofbiz.base.util.*, com.xbstar.security.url.*"%>
var nTemp = 0;
for(var i = 0; i < 17; i ++)
{
nTemp += sId.substr(i, 1) * arrInt[i];
}
}
}
if (length == 18)
{
re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
var arrSplit = sId.match(re);
<jsp:useBean id="delegator" type="org.ofbiz.entity.GenericDelegator" scope="request" />
<%
String entityName =request.getParameter("entityName");
String userId = request.getParameter("userId");
var bGoodDay;
bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4]));
<%@page import="org.ofbiz.entity.condition.EntityOperator,org.ofbiz.entity.condition.EntityExpr"%>
<%@page import="org.json.JSONArray,org.json.JSONObject"%>
if (!bGoodDay)
{
alert('输入的身份证号里出生日期不对!');return false;
}else{
//检验18位身份证的校验码是否正确。
//校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
}
if(reg.test(sId)){
var re;
var aCity={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 dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]);