package com;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* java正则表达式验证
*/
public class RegExpTest
{
/**
* 验证QQ号码
*
* @author lihaiming
* @param QQ
* @return
*/
public static boolean checkQQ(String QQ) {
String regex = "^[1-9][0-9]{4,}$";
return check(QQ, regex);
}
private static boolean check(String str, String regex) {
boolean flag = false;
try {
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
flag = matcher.matches();
} catch (Exception e) {
flag = false;
}
return flag;
}//此方法来源于:http://www.jb51.net/article/49409.htm
//java检测是否为电话号码(手机、固定电话验证)
String legalPhone = "";
String regExp ="^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}|[0]{1}[0-9]{2,3}-[0-9]{7,8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(importPotentialBFOs[i].getLegalPhone());
if(m.find()){ //注意:m.find只能用一次,第二次调用后都为false
legalPhone = importPotentialBFOs[i].getLegalPhone();
uploadTmp.setLegalTelephone(legalPhone);
}else{
throw new BizException("联系电话格式错误!");
}//此方法来源于:http://blog.csdn.net/civilized/article/details/35231627
/**
* 日期校验
*
* @author lihaiming
* @param hhmmStr
* 日期字符串(HH:mm)
* @param format
* 日期格式
* @return
*/
public static boolean isHhmm(String hhmmStr) {
Pattern p = Pattern.compile("^(0\\d{1}|1\\d{1}|2[0-3]):[0-5]\\d{1}$");
Matcher m = p.matcher(hhmmStr);
boolean flag = m.matches();
if (flag) {
return true;
} else {
return false;
}
}//参考自:http://zhidao.baidu.com/link?url=PKeLU3kG5QSjXc8ZJ-fAWEhTzy379VQLAyYBWDf2G-fNWeoBuwdoXaMZkO8c3luDy1z-PTI_tXrBl4jVrVDOA5kq2Ys9_UtpMa1fKg4YXkq
/**
* 浮点数校验
*
* @param str
* 字符串
* @return
*/
public static boolean isFloatDigit(String str) {
return str.matches("[\\d]+\\.[\\d]+");
}
/**
* 正则验证方法一
*/
public static boolean regExpTest() {
//验证标识符必须由字母、数字、下划线组成
Pattern p = Pattern.compile("[a-z0-9A-Z_]+");
Matcher m = p.matcher("aasdad");
boolean flg = m.matches();
System.out.println(flg);
return flg;
}
/**
* 正则验证方法二
*/
public static boolean regExpTest2(String str) {
//匹配标识符必须由字母、数字、下划线组成,且开头和结尾不能有下划线
//String regex = "(^[a-z0-9A-Z])[a-z0-9A-Z_]+([a-z0-9-A-Z])";
//匹配标识符必须由字母、数字、下划线组成,且开头和结尾不能有下划线,且中间的字符至少1个不能超过5个
String regex = "(^[a-z0-9A-Z])[a-z0-9A-Z_]{1,5}([a-z0-9-A-Z])";
boolean flg = Pattern.matches(regex, str);
System.out.println(flg);
return flg;
}
/**
* 去掉前后空格
*/
public static String regExpTest3(String str) {
//去掉前后空格方法一
//String regex = "^\\[(.*)\\]$";
//String s1 = str.replaceAll(regex, "$1");
//方法二,注:replace方法无正则匹配
String regex = "^\\[|\\]$";
String s1 = str.replaceAll(regex, "");
System.out.println(s1);
return s1;
}
/**
* 验证邮箱格式"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"//email地址
*/
public static boolean regExpTest4(String str) {
String regex = "^[\\w-]+(\\.[\\w-]+)*\\@([\\.\\w-]+)+$";
boolean flg = Pattern.matches(regex, str);
System.out.println(flg);
return flg;
}
/**
* 验证电话号码
*/
public static boolean regExpTest5(String str){
// "(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
//String regex = "\\d{3}-\\d{4}-\\d{7,8}-\\d{3}";
String regex = "(\\d+-)?(\\d{4}-\\d{7,8})(-\\d+)";
boolean flg = Pattern.matches(regex, str);
System.out.println(flg);
return flg;
}
- /**
- * 手机号验证
- *
- * @param str
- * @return 验证通过返回true
- */
- public static boolean isMobile(String str) {
- Pattern p = null;
- Matcher m = null;
- boolean b = false;
- p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 验证手机号
- m = p.matcher(str);
- b = m.matches();
- return b;
- }
public static void regExpTest6(String str){
String regex = "(\\d+-)?(\\d{4}-\\d{7,8})(-\\d+)";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
int count = m.groupCount();
System.out.println(count);
m.find();//尝试查找与该模式匹配的输入序列的下一个子序列。
for(int i=1;i<=count;i++) {
System.out.println(m.group(i));
}
}
/**
* 包含数字或特殊符号
*
* @author lihaiming
* @param str
* 字符串
* @return
*/
public static boolean hasNumberOrSpecialSym(String str) {
String E1 = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";// 英文
String E2 = "[0-9]";// 数字
String temp = null;
for (int i = 0; i < str.length(); i++) {
temp = String.valueOf(str.charAt(i));
if (temp.matches(E1) || temp.matches(E2)) {
return true;
}
}
return false;
}//此方法参考自:http://blog.csdn.net/qiaqia609/article/details/11088101,http://www.sharejs.com/codes/java/6228
public static void main(String[] args)
{
//从键盘读取文件
/* Scanner sn = new Scanner(System.in);
RegExpTest.regExpTest();
RegExpTest.regExpTest2("asdasaa");
RegExpTest.regExpTest3("[aa,bb,cc]");
RegExpTest.regExpTest4("-lgt.q983@hotmail.com.net");
//RegExpTest.regExpTest5(sn.nextLine());
*/
RegExpTest.regExpTest6("029-0913-3237259-020");
}
}
相关推荐
java正则表达式验证,包含:验证邮箱、验证IP地址、验证网址Ur、l验证电话号码、验证输入密码条件(字符与数据同时出现)、验证输入密码长度 (6-18位)、验证输入邮政编号等
java正则表达式验证IP地址
java 使用正则表达式验证电话号码的格式 java 使用正则表达式验证电话号码的格式
用来学习正则表达式的小工具(JAVA版的) 可以及时的测试自己写的正则表达式 Welcome to id0096.cn
java 验证手机号码 身份证 email url 以及其他常用的正则表达式的验证方法。
Java正则表达式验证web端输入[身份证,邮箱,手机,中文字符]
Java正则表达式[web输入验证<身份证,邮箱,URL,手机号等>]
这是一个简单的正则表达式应用jar包,通过调用其内部方法可实现java的一系列验证,提取和清洗的方法,内附帮助文档,使用非常简单,希望可以为广大编程爱好者编程提供方便,欢迎下载!
java实现用正则表达式的方法提取html中的信息,可以提取标题,正文,链接等。经过运行,没问题的
最完善的身份证号码合法性校验Java算法,适合Android平台,可以直接拿来在项目中使用,正则表达式。
JAVA正则表达式JAVA正则表达式JAVA正则表达式
正则表达式 Java 验证工具正则表达式 Java 验证工具
Java正则表达式的使用,判断html、电话等是否符合规定、、、
本案例我们介绍使用Java代码的正则表达式来验证手机号码其是否合法。 具体编写步骤: 1、封装一个工具类 2、验证手机号码的代码方法编写 3、如果验证通过,对该手机号码脱敏处理,并输出到控制台打印出来。
正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的...
JAVA正则表达式详解可以帮助你做Web验证,
主要介绍了Java正则表达式验证固定电话号码符合性的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
函数式正则表达式,方面多正则的替换应用
正则表达式 实例