正则表达式验证 身份证 手机号 电话号 ip 数字 英文 邮箱 email

合集下载

Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬虫利器)

Python正则表达式精确匹配手机号,邮箱,IP,身份证…..(爬虫利器)

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。

el-form正则

el-form正则

el-form正则el-form是Element UI中的表单组件,用于收集和验证用户输入的数据。

在使用el-form时,可以通过正则表达式对用户输入的数据进行格式校验。

以下是一些常用的正则表达式示例:1. 校验手机号码:```/^1[3-9]\d{9}$/```该正则表达式可以校验以1开头的11位数字字符串,可以匹配有效的手机号码。

2. 校验邮箱:```/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/```该正则表达式可以校验常见的邮箱格式,匹配格式如"***********"。

3. 校验身份证号码:```/^\d{17}(\d|X|x)$/```该正则表达式可以校验18位身份证号码,最后一位可以是数字或大写字母X。

需要根据具体需求来选择或编写正则表达式,以上只是一些示例。

在使用el-form时,可以通过设置rules属性来指定校验规则,如下所示:```javascript{rules: {phone: [{ pattern: /^1[3-9]\d{9}$/, message: '请输入有效的手机号码', trigger: 'blur' }],email: [{ pattern: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, message: '请输入有效的邮箱地址', trigger: 'blur' } ],idCard: [{ pattern: /^\d{17}(\d|X|x)$/, message: '请输入有效的身份证号码', trigger: 'blur' }]}}```通过以上设置,el-form会在用户输入数据时自动进行校验,并在不符合规则时显示错误提示信息。

正则表达式之18位身份证号,手机号,邮箱,日期

正则表达式之18位身份证号,手机号,邮箱,日期

正则表达式之18位⾝份证号,⼿机号,邮箱,⽇期匹配18位⾝份证号,正则表达式如下:/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|31)|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/说明:现在⾝份证号都已经是18位了,没必要再去考虑匹配15位。

18位⾝份证号组成:6位地区号+4位年+4位⽉⽇+3位编号+1位新⽣成编号逻辑:1)6位地区号:⾸位⾮0,后五位数字。

对应正则:[1-9][0-9]{5}2)4位年:19或20开头,后两位数字。

对应正则:(19|20)[0-9]{2}3)4位⽉⽇: i)⼤⽉31天。

对应正则:(01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|31) ii)⼩⽉30天。

对应正则:(04|06|09|11)(0[1-9]|[1-2][0-9]|30) iii)2⽉28天或29天。

对应正则:02(0[1-9]|[1-2][0-9])4)3位编号:三位数字。

对应正则:[0-9]{3}5)1位新⽣成编号:数字或x。

对应正则:([0-9]|x|X)现仅剩以下缺点(不太⽤到):1)未匹配闰年2)未匹配前三位地区编号是否存在最后附上:【⼿机号正则】/^1[3-8][0-9]{9}$/【邮箱正则】/^\w+([.]\w+)?[@]\w+[.]\w+([.]\w+)?$/【⽹址正则】(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]【⽇期】/^((19|20)[0-9]{2})-((0[1-9])|10|11|12)-(([0-2][0-9])|30|31)$/【⽂件名/:*?'"<>\】/\/|:|\*|\?|'|"|<|>|\\/【2位⼩数】/^[0-9]+(.[0-9]{1,2})?$/。

JS正则表达式验证手机号和邮箱

JS正则表达式验证手机号和邮箱

JS正则表达式验证⼿机号和邮箱⼀、验证⼿机号function isPoneAvailable(poneInput) {var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;if (!myreg.test(poneInput)) {return false;} else {return true;}}这⾥的重点是这个正则表达式:var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;这个表达式的意思是:1--以1为开头;2--第⼆位可为3,4,5,7,8,中的任意⼀位;3--最后以0-9的9个整数结尾。

本来只容13,15,17,18,开头的⼿机号,但是测试mm说有14开头的号码,所以添加了14;当然,如果以后要是发展成有16,或者19,之类的开头号码的话,在[3,4,5,7,8]中添加即可。

// 判断是否为⼿机号function isPoneAvailable (pone) {var myreg = /^[1][3,4,5,7,8][0-9]{9}$/;if (!myreg.test(pone)) {return false;} else {return true;}}// 判断是否为电话号码function isTelAvailable:(tel) {var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/;if (!myreg.test(tel)) {return false;} else {return true;}}⼆、验证邮箱相关代码如下:function isEmailAvailable(emailInput) {var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;if (!myreg.test(emailInput)) {return false;}else {return true;}}//由于⽅法相同,⼀下只写出相关的正则表达式//对于⼿机号码的验证(提供了两种⽅法)var mobile=/^((13[0-9]{1})|159|153)+\d{8}$/;var mobile1=/^(13+\d{9})|(159+\d{8})|(153+\d{8})$/;//对于区号的验证var phoneAreaNum = /^\d{3,4}$/;//对于电话号码的验证var phone =/^\d{7,8}$/;解释相关的意义1. /^$/ 这个是个通⽤的格式。

python 校验正则

python 校验正则

python 校验正则Python校验正则表达式是一种用于验证字符串是否符合特定格式的工具。

通过使用正则表达式,可以轻松地检查字符串是否符合特定规则,例如电子邮件地址、电话号码或邮政编码等。

以下是一些常用的Python校验正则表达式的示例:1. 电子邮件地址验证:```pythonimport reemail="*******************"if re.match(r"[^@]+@[^@]+\.[^@]+", email):print("有效的电子邮件地址")else:print("无效的电子邮件地址")```2. 电话号码验证:```pythonimport rephone = "123-456-7890"if re.match(r"\d{3}-\d{3}-\d{4}", phone):print("有效的电话号码")else:print("无效的电话号码")```3. 邮政编码验证:```pythonimport rezipcode = "12345"if re.match(r"\d{5}", zipcode):print("有效的邮政编码")else:print("无效的邮政编码")```这些只是Python校验正则表达式的简单示例,实际上正则表达式具有更多的功能和灵活性,可以根据需要进行组合和扩展。

正则表达式匹配身份证电话号码邮箱住宅电话邮编等

正则表达式匹配身份证电话号码邮箱住宅电话邮编等

正则表达式匹配⾝份证电话号码邮箱住宅电话邮编等⾝份证号码的匹配⼤陆的居民⾝份证号码有两种: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个数中的某⼀个数字。

前端正则校验规则

前端正则校验规则

前端正则校验规则
前端正则表达式校验规则如下:
1. 手机号格式验证: /^1[3-9]\d{9}$/;
2. 邮箱格式验证: /^[a-zA-Z0-9_-]+[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-
]+)+$/;
3. 密码强度验证:密码长度需在6-16位之间,且至少包含一位数字、一位大写字母和一位小写字母。

4. 身份证格式验证:中国身份证号码由15位或18位数字和大写英文字母
组成,其中18位身份证号码中的最后一位可以是数字或X。

5. 邮箱地址验证:邮箱地址应包含“”符号,且“”符号前后不能有空格或其他字符。

6. 数字验证:用于验证输入的内容是否为数字,可以指定一个范围,例如
0-999。

7. 英文大小写字母验证:用于验证输入的内容是否为英文大小写字母,可以指定一个范围,例如a-z或A-Z。

8. 中文字符验证:用于验证输入的内容是否为中文字符,可以指定一个范围,例如汉字。

9. 特殊字符验证:用于验证输入的内容是否包含特殊字符,例如!$%^&()等。

10. 日期格式验证:用于验证输入的日期格式是否正确,可以指定日期的格式,例如YYYY-MM-DD。

以上是一些常见的正则表达式校验规则,具体使用时需要根据实际需求进行调整和修改。

最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等

最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等

最全正则表达式总结:验证QQ号、⼿机号、Email、中⽂、邮编、⾝份证、IP地址等什么是 RegExp?RegExp 是正则表达式(Regular expression)的缩写,作⽤是对字符串执⾏模式匹配。

通常⽤于格式验证、正则替换、查找⼦串等各种编程语⾔的正则表达式基本相同,不同的语⾔可能会有⼀些细⼩的差别RegExp 语法1.// 直接实例化2.var reg = new RegExp(pattern [, flags])3.// 隐式创建(推荐)4.var reg = /pattern/flags;参数 pattern 是⼀个字符串,指定了正则表达式的模式或其他正则表达式。

参数 [, flags] 是⼀个可选的字符串,包含属性 “g”(global )、”i” (ignoreCase)和 “m”(multiline)。

ECMAScript 标准化之前,不⽀持 m 属性。

如果 pattern 是正则表达式,⽽不是字符串,则必须省略该参数。

概念:⼦表达式在正则表达式中,使⽤括号括起来的内容是⼀个⼦表达式,⼦表达式匹配到的内容会被系统捕获⾄缓冲区,使⽤\n(n:数字)来反向引⽤系统的第n号缓冲区的内容。

场景:后⾯的内容要求与前⾯的⼀致,可以使⽤⼦表达式1.// 查找连续相同的四个数字2.var str = "1212ab45677778cd";3.var reg = /(\d)\1\1\1/gi;4.console.log(str.match(reg));5.// OUTPUT:7777概念:⽅括号(字符簇)1.var str = "Is this all there is?";2.var patt1 = /[a-h]/g;3.document.write(str.match(patt1));4.// OUTPUT:h,a,h,e,e⽅括号作⽤⽅括号作⽤[abc]查找⽅括号之间的任何字符。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

package besttone.utils;import java.util.regex.Matcher;import java.util.regex.Pattern;/*** 90%的验证都调用了Regular方法但是本类也可删除大部分方法涉及到正则的判断都直接穿参数和正则表达式* 但是为了方便业务类调用和有更直观的含义建议不要这么做* Pattern的matcher已经被同步synchronized 所以此类的任何使用正则验证的方法都不需要同步**/public class RegularValidate {public RegularValidate() { }//ip checkpublic static boolean isboolIP(String ipAddress){Stringip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})";Pattern pattern = pile(ip);Matcher matcher = pattern.matcher(ipAddress);return matcher.matches();}//------------------常量定义/*** Email正则表达式=^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$*/public static final String EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";/*** 电话号码正则表达式= (^(\d{2,4}[-_-—]?)?\d{3,8}([-_-—]?\d{3,8})?([-_-—]?\d{1,7})?$)|(^0?1[35]\d{9}$)*/public static final String PHONE = "(^(\\d{2,4}[-_-—]?)?\\d{3,8}([-_-—]?\\d{3,8})?([-_-—]?\\d{1,7})?$)|(^0?1[35]\\d{9}$)" ;/*** 手机号码正则表达式=^(13[0-9]|15[0|3|6|7|8|9]|18[0,5-9])\d{8}$*/public static final String MOBILE ="^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\\d{8}$";/*** IP地址正则表达式((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) */public static final String IPADDRESS = "((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))";/*** Integer正则表达式^-?(([1-9]\d*$)|0)*/public static final String INTEGER = "^-?(([1-9]\\d*$)|0)";/*** 正整数正则表达式>=0 ^[1-9]\d*|0$*/public static final String INTEGER_NEGATIVE = "^[1-9]\\d*|0$";/*** 负整数正则表达式<=0 ^-[1-9]\d*|0$*/public static final String INTEGER_POSITIVE = "^-[1-9]\\d*|0$";/*** Double正则表达式^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$*/public static final String DOUBLE ="^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$";/*** 正Double正则表达式>=0 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$*/public static final String DOUBLE_NEGATIVE ="^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$";/*** 负Double正则表达式<= 0 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$*/public static final String DOUBLE_POSITIVE ="^(-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*))|0?\\.0+|0$";/*** 年龄正则表达式^(?:[1-9][0-9]?|1[01][0-9]|120)$ 匹配0-120岁*/public static final String AGE="^(?:[1-9][0-9]?|1[01][0-9]|120)$";/*** 邮编正则表达式[1-9]\d{5}(?!\d) 国内6位邮编*/public static final String CODE="[1-9]\\d{5}(?!\\d)";/*** 匹配由数字、26个英文字母或者下划线组成的字符串^\w+$*/public static final String STR_ENG_NUM_="^\\w+$";/*** 匹配由数字和26个英文字母组成的字符串^[A-Za-z0-9]+$*/public static final String STR_ENG_NUM="^\\w+$";/*** 匹配由26个英文字母组成的字符串^[A-Za-z]+$*/public static final String STR_ENG="^[A-Za-z]+$";/*** 过滤特殊字符串正则* regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。

,、?]";*/public static final String STR_SPECIAL="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。

,、?]";/****//**** 日期正则支持:* YYYY-MM-DD* YYYY/MM/DD* YYYY_MM_DD* YYYYMMDD* YYYY.MM.DD的形式*/public static final String DATE_ALL="((^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(10|12|0?[13578])([-\\/\\._]?)(3[01]|[12][ 0-9]|0?[1-9])$)" +"|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(11|0?[469])([-\\/\\._]?)(30|[12][0-9]|0?[1-9])$)" +"|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(0?2)([-\\/\\._]?)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][ 048]00)([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([3579][26]00)" +"([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)" +"|(^([1][89][0][48])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([2-9][0-9][0][48])([-\\/\\._]?)" + "(0?2)([-\\/\\._]?)(29)$)" +"|(^([1][89][2468][048])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._]?)( 0?2)" +"([-\\/\\._]?)(29)$)|(^([1][89][13579][26])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|" +"(^([2-9][0-9][13579][26])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$))";/*** URL正则表达式* 匹配http www ftp*/public static final String URL = "^(http|www|ftp|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w )*)(\\?)?" +"(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?) *" +"(\\w*:)*(\\w*\\+)*(\\w*\\.)*" +"(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$";/*** URL正则表达式* 匹配http https*/public static final String URL2 = "^(http|https|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\ \?)?" +"(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?) *" +"(\\w*:)*(\\w*\\+)*(\\w*\\.)*" +"(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$";/*** 身份证正则表达式*/public static final String IDCARD="((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|5 2|53|54|61|62|63|64|65)[0-9]{4})" +"(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}" +"[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";/*** 1.匹配科学计数e或者E必须出现有且只有一次不含Dd* 正则^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))$ */public final static String SCIENTIFIC_A ="^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))$";/*** 2.匹配科学计数e或者E必须出现有且只有一次结尾包含Dd* 正则^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))[dD]?$ */public final static String SCIENTIFIC_B ="^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))[d D]?$";/*** 3.匹配科学计数是否含有E或者e都通过结尾含有Dd的也通过(针对Double 类型)* 正则^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?[dD]?$ */public final static String SCIENTIFIC_C ="^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?[d D]?$";/*** 4.匹配科学计数是否含有E或者e都通过结尾不含Dd* 正则^[-+]?(\d+(\.\d*)?|\.\d+)([eE]([-+]?([012]?\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?$ */public final static String SCIENTIFIC_D ="^[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE]([-+]?([012]?\\d{1,2}|30[0-7])|-3([01]?[4-9]|[012]?[0-3])))?$ ";////------------------验证方法/*** 判断字段是否为空符合返回ture* @param str* @return boolean*/public static synchronized boolean StrisNull(String str) {return null == str || str.trim().length() <= 0 ? true : false ;}/*** 判断字段是非空符合返回ture* @param str* @return boolean*/public static boolean StrNotNull(String str) {return !StrisNull(str) ;}/*** 字符串null转空* @param str* @return boolean*/public static String nulltoStr(String str) {return StrisNull(str)?"":str;}/*** 字符串null赋值默认值* @param str 目标字符串* @param defaut 默认值* @return String*/public static String nulltoStr(String str,String defaut) { return StrisNull(str)?defaut:str;}/*** 判断字段是否为Email 符合返回ture* @param str* @return boolean*/public static boolean isEmail(String str) {return Regular(str,EMAIL);}/*** 判断是否为电话号码符合返回ture* @param str* @return boolean*/public static boolean isPhone(String str) {return Regular(str,PHONE);}/*** 判断是否为手机号码符合返回ture* @param str* @return boolean*/public static boolean isMobile(String str) {return Regular(str,MOBILE);}/*** 判断是否为Url 符合返回ture http|www|ftp start * @param str* @return boolean*/public static boolean isurl(String str) {return Regular(str,URL);}/*** 判断是否为Url 符合返回http |https start* @param str* @return boolean*/public static boolean isUrl(String str) {return Regular(str,URL2);}/*** 判断是否为IP地址符合返回ture* @param str* @return boolean*/public static boolean isIpaddress(String str) {return Regular(str,IPADDRESS);}/*** 判断字段是否为数字正负整数正负浮点数符合返回ture * @param str* @return boolean*/public static boolean isNumber(String str) {return Regular(str,DOUBLE);}/*** 判断字段是否为INTEGER 符合返回ture* @param str* @return boolean*/public static boolean isInteger(String str) {return Regular(str,INTEGER);}/*** 判断字段是否为正整数正则表达式>=0 符合返回ture* @param str* @return boolean*/public static boolean isINTEGER_NEGATIVE(String str) { return Regular(str,INTEGER_NEGATIVE);}/*** 判断字段是否为负整数正则表达式<=0 符合返回ture * @param str* @return boolean*/public static boolean isINTEGER_POSITIVE(String str) { return Regular(str,INTEGER_POSITIVE);}/*** 判断字段是否为DOUBLE 符合返回ture* @param str* @return boolean*/public static boolean isDouble(String str) {return Regular(str,DOUBLE);}/*** 判断字段是否为正浮点数正则表达式>=0 符合返回ture * @param str* @return boolean*/public static boolean isDOUBLE_NEGATIVE(String str) { return Regular(str,DOUBLE_NEGATIVE);}/*** 判断字段是否为负浮点数正则表达式<=0 符合返回ture * @param str* @return boolean*/public static boolean isDOUBLE_POSITIVE(String str) { return Regular(str,DOUBLE_POSITIVE);}/*** 判断字段是否为日期符合返回ture* @param str* @return boolean*/public static boolean isDate(String str) {return Regular(str,DATE_ALL);}/*** 判断字段是否为年龄符合返回ture* @param str* @return boolean*/public static boolean isAge(String str) {return Regular(str,AGE) ;}/*** 判断字段是否超长* 字串为空返回fasle, 超过长度{leng}返回ture 反之返回false * @param str* @param leng* @return boolean*/public static boolean isLengOut(String str,int leng) {return StrisNull(str)?false:str.trim().length() > leng ;}/*** 判断字段是否为身份证符合返回ture* @param str* @return boolean*/public static boolean isIdCard(String str) {if(StrisNull(str)) return false ;if(str.trim().length() == 15 || str.trim().length() == 18) {return Regular(str,IDCARD);}else {return false ;}}/*** 判断字段是否为邮编符合返回ture* @param str* @return boolean*/public static boolean isCode(String str) {return Regular(str,CODE) ;}/*** 判断字符串是不是全部是英文字母* @param str* @return boolean*/public static boolean isEnglish(String str) {return Regular(str,STR_ENG) ;}/*** 判断字符串是不是全部是英文字母+数字* @param str* @return boolean*/public static boolean isENG_NUM(String str) {return Regular(str,STR_ENG_NUM) ;}/*** 判断字符串是不是全部是英文字母+数字+下划线* @param str* @return boolean*/public static boolean isENG_NUM_(String str) {return Regular(str,STR_ENG_NUM_) ;}/*** 过滤特殊字符串返回过滤后的字符串* @param str* @return boolean*/public static String filterStr(String str) {Pattern p = pile(STR_SPECIAL);Matcher m = p.matcher(str);return m.replaceAll("").trim();}/*** 匹配是否符合正则表达式pattern 匹配返回true* @param str 匹配的字符串* @param pattern 匹配模式* @return boolean*/private static boolean Regular(String str,String pattern){System.out.println("pattern="+pattern);if(null == str || str.trim().length()<=0)return false;Pattern p = pile(pattern);Matcher m = p.matcher(str);return m.matches();}/*** 判断是不是科学计数法如果是返回true* 匹配科学计数e或者E必须出现有且只有一次结尾不含D* 匹配模式可参考本类定义的SCIENTIFIC_A,SCIENTIFIC_B,SCIENTIFIC_C,SCIENTIFIC_D* 若判断为其他模式可调用Regular(String str,String pattern)方法* @param str 科学计数字符串* @return boolean*/public static boolean isScientific(String str){if(StrisNull(str))return false;return Regular(str,RegularValidate.SCIENTIFIC_A);}/*public static void main(String[] args) {Boolean b =isIpaddress("255.256.255.0");System.out.println(b);} */}。

相关文档
最新文档