❶ java中使用正则表达式验证手机号码,大家看我的代码有什么问题,没得出正确的结果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成这样
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true
❷ 我想用户java replaceALL替换手机号码中间的四个数字,中间的正则表达式不知道怎么写,哪位大师帮帮忙啊
楼主,正则表达式是匹配有特殊规律的一类数字或字母之类的,你手机号码都是数字,怎么匹配?我觉得你的这个问题应该用字符串截取来做,截取前三位跟后四位,然后用前三位+你要替换的字符串+后四位。
❸ Java如何使用正则表达式验证港澳台手机号码是否有效
不知道港台手机号什么格式:
\d:匹配一个数字字符。等价于[0-9]。
{n,m}:m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。
匹配手机号无非是纯数字,是否达到一定位数
❹ 急求一个JAVA中判断用户输入的数字是一个合法的电话号码的正则表达式,包括住宅电话与移动电话。
// TODO : 用正则表达式判断一个字符串中是否为电话号码,--无误格式为:-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX
String s="333212";
Pattern p=Pattern.compile("^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$");
Matcher m=p.matcher(s);
System.out.println(m.matches());
/**
* 考证数字:^[0-9]*$
考证n位的数字:^\d{n}$
考证至多n位数字:^\d{n:}$
考证m-n位的数字:^\d{m:n}$
考证零和非零开头的数字:^(0|[1-9][0-9]*)$
考证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
考证有1-3位小数的正实数:^[0-9]+(.[0-9]{1:3})?$
考证非零的正整数:^\+?[1-9][0-9]*$
考证非零的负整数:^\-[1-9][0-9]*$
考证非负整数(正整数 + 0) ^\d+$
考证非正整数(负整数 + 0) ^((-\d+)|(0+))$
考证长度为3的字符:^.{3}$
考证由26个英文字母组成的字符串:^[A-Za-z]+$
考证由26个大写英文字母组成的字符串:^[A-Z]+$
考证由26个大写英文字母组成的字符串:^[a-z]+$
考证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
考证由数字、26个英文字母恐怕下划线组成的字符串:^\w+$
考证用户密码:^[a-zA-Z]\w{5:17}$无误格式为:以字母开头,长度在6-18之间,只能包罗字符、数字和下划线。
考证是否含有 ^%&rev;':;=?$"等字符:[^%&rev;':;=?$\x22]+
考证汉字:^[\一-\龥]:{0:}$
考证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
考证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&rev;=]*)?$;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
考证电话号码:^(\(\d{3:4}\)|\d{3:4}-)?\d{7:8}$:--无误格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。
考证身份证号(15位或18位数字):^\d{15}|\d{}18$
考证一年的12个月:^(0?[1-9]|1[0-2])$ 无误格式为:“01”-“09”和“1”“12”
考证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$无误格式为:01、09和1、31。
整数:^-?\d+$
非负浮点数(正浮点数 + 0):^\d+(\.\d+)?$
正浮点数^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
非正浮点数(负浮点数 + 0) ^((-\d+(\.\d+)?)|(0+(\.0+)?))$
负浮点数^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?$
*/
❺ java中如何提取一个字符串中的电话号码
java中如何提取一个字符串中的电话号码,先写出手机号码和固定号码的正则表达式,然后创建模式,获取到匹配器,从而刷选出符合要求的电话号码,如下:
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;publicclassTestC{
publicstaticvoidmain(String[]args){
//要提前号码的字符串
Stringstr="n13977777777s18911111111你好15988888888hha0955-7777777sss0775-6678111";
//提取手机号码
checkCellphone(str);
//提取固定电话号码
checkTelephone(str);
}
/**
*查询符合的手机号码
*@paramstr
*/
(Stringstr){
//将给定的正则表达式编译到模式中
Patternpattern=Pattern.compile("((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\d{8}");
//创建匹配给定输入与此模式的匹配器。
Matchermatcher=pattern.matcher(str);
//查找字符串中是否有符合的子字符串
while(matcher.find()){
//查找到符合的即输出
System.out.println("查询到一个符合的手机号码:"+matcher.group());
}
}
/**
*查询符合的固定电话
*@paramstr
*/
(Stringstr){
//将给定的正则表达式编译到模式中
Patternpattern=Pattern.compile("(0\d{2}-\d{8}(-\d{1,4})?)|(0\d{3}-\d{7,8}(-\d{1,4})?)");
//创建匹配给定输入与此模式的匹配器。
Matchermatcher=pattern.matcher(str);
//查找字符串中是否有符合的子字符串
while(matcher.find()){
//查找到符合的即输出
System.out.println("查询到一个符合的固定号码:"+matcher.group());
}
}
结果:
查询到一个符合的手机号码:13977777777
查询到一个符合的手机号码:18911111111
查询到一个符合的手机号码:15988888888
查询到一个符合的固定号码:0955-7777777
查询到一个符合的固定号码:0775-6678111
❻ java中手机号码用什么数据类型表示
手机号码可以用string数据类型来表示。
判断是否为手机号码可以通过正则表达式来处理,示例如下:
importjava.util.regex.Pattern;
importjava.util.regex.Matcher;
publicclassTest
{
publicstaticbooleancheck(Stringphonenumber)
{
Stringphone="1\d{2,3}-\d{7,8}";
Patternp=Pattern.compile(phone);
Matcherm=p.matcher(phonenumber);
returnm.matches();
}
publicstaticvoidmain(Stringargs[])
{
Strings="010-88888888";
System.out.println(Test.check(s));
}
}