① 急求一个java中判断用户输入的数字是一个合法的电话号码的正则表达式,包括住宅电话与移动电话。
// TODO : 用正则表达式判断一个字符串中是否为电话号码,--无误格式为:XXXX-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使用正则表达式验证电话号码是java的哪部分内容
这是javascript,不是java啊,两种语言
④ java中电话号码的正则表达式,只要是11位就可以了,不限定是什么开头
首先说明下正则表达式是通用的,不只是JAVA中
下面给个简单的匹配
^1[0-9]{10}$
或者
^1\d{10}$
上面就最简单的符合数字而已,如果LZ不考虑第一位是否是1
直接^\d{11}$
⑤ java 正则表达式 1[3,5,7,8][1-9]{8,8} 我想简单的测试一下电话号码 请问后面的{8,8}能用别的代替掉吗
这个正则是:
第一位1
第二位 可以是 3 5 7 8 或者 , 逗号,对你没看错...可以匹配逗号
然后接下来8位 1-9, 不包含0啊?
所以有些错误..
修改成
1[3578][0-9]{8} 就可以
⑥ Java中什么是正则表达式
正则表达式 就是将一个类型的数据 按照一定方式 写成正则表达式的形式 这样可以辨别数据是否符合这一类型的数据 比如我们的身份证号码 就是有一定的规则的 这样我们写一个 正则表达式 和别人输入的身份证号码 比对 如果符合这个正则表达式的规则 就是身份证号码
⑦ java 正则表达式是什么
匹配首尾空格的正则表达式:(^s*)|(s*$)。
匹配html标签的正则表达式:<(.*)>(.*)</(.*)>|<(.*)/>。
配空行的正则表达式: [s| ]* 。
整数或者小数:^[0-9]+.{0,1}[0-9]{0,2}$。
只能输入数字:"^[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"*$。
只能输入长度为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之间,只能包含字符、数字和下划线。
验证是否含有^%&',;=?$"等字符:"[^%&',;=?$x22]+"。
只能输入汉字:"^[u4e00-u9fa5]{0,}$"。
验证Email地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"。
验证一年的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"。
匹配中文字符的正则表达式: [u4e00-u9fa5]。
匹配双字节字符(包括汉字在内):[^x00-xff]。
应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){returnthis.replace(/[^x00-xff]/g,"aa").length;}。
⑧ Java中使用正则表达式验证手机号码,大家看我的代码有什么问题,没得出正确的结果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成这样
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true
⑨ java 问题,电话正则表达式:^(0[0-9]{2,3}-)([2-9][0-9]{6,7})+(-[0-9]{1,4})$
^1[3|4|5|8][0-9]\\d{6,8}$
表达式完全可以写成
^1[3|4|5|8]\\d{7,9}$
没有问题的,[0-9]
和
\\d
是完全一样的
手机号码是11位的应该写成
^1[3458]\\d{9}$
这样吧
⑩ java正则表达式获取电话号码问题
在正则表达式中限定行首到行尾就可以了
^((13\d)|(15\d))\d{8}$