河南循中网络科技有限公司 - 精心创作,详细分解,按照步骤,均可成功!
结果
话不多说,直接看
main
执行结果如下
代码
<!-- apache公共基础类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
package com.xz.util;
import org.apache.commons.lang3.StringUtils;
import java.util.regex.Pattern;
/**
* 验证工具类
*/
public class VerifyUtil {
// 手机号码
private static final String PHONE_RULE = "1\\d{10}$";
public static void main(String[] args) {
String str = "我拼接151开头0000中间0000结尾的手机号";
// 过滤手机号
System.out.println("过滤手机号:"+filterPhone(str));
// 提取手机号
System.out.println("提取手机号:"+returnPhone(str));
// 验证是否存在手机号
System.out.println("验证是否存在手机号:"+verifyPhone(str));
}
/**
* 过滤手机号【将手机号移除,并返回结果】
* @param str
* @return
*/
public static String filterPhone(String str) {
if (StringUtils.isNotBlank(str)) {
// 过滤出纯数字
String strNumber = Pattern.compile("[^0-9]").matcher(str.trim()).replaceAll("");
// 验证是否手机号
Pattern pattern = Pattern.compile(PHONE_RULE);
if(pattern.matcher(strNumber).matches()){
// 将手机号从字符串中移除
String[] strNumbers = strNumber.split("");
for(String number : strNumbers){
str = str.replaceAll(number,"");
}
return str;
}else{
return str;
}
}else{
return str;
}
}
/**
* 提取手机号
* @param str
* @return
*/
public static String returnPhone(String str) {
if (StringUtils.isNotBlank(str)) {
// 过滤出纯数字
String strNumber = Pattern.compile("[^0-9]").matcher(str.trim()).replaceAll("");
// 验证是否手机号
Pattern pattern = Pattern.compile(PHONE_RULE);
if(pattern.matcher(strNumber).matches()){
return strNumber;
}else{
return str;
}
}else{
return str;
}
}
/**
* 验证是否存在手机号【存在返回true,不存在返回false】
* @param str
* @return
*/
public static Boolean verifyPhone(String str) {
if (StringUtils.isNotBlank(str)) {
// 过滤出纯数字
String strNumber = Pattern.compile("[^0-9]").matcher(str.trim()).replaceAll("");
// 验证是否手机号
Pattern pattern = Pattern.compile(PHONE_RULE);
return pattern.matcher(strNumber).matches();
}else{
return false;
}
}
}