Ⅰ 急求一个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中使用正则表达式验证手机号码,大家看我的代码有什么问题,没得出正确的结果。
Patternp=Pattern.compile("^1[34578]\d{9}$");//改成这样
Matcherm=p.matcher("15217855576");
System.out.println(m.matches());//true
Ⅲ 关于java正则表达式判断是否是手机号.
//你能把完整的程序贴出来么
//你限定一下位专数
publicclassRegexDemo{
publicstaticvoidmain(String[]args){
属Stringregex="1(3|5|7|8)[0-9]{9}";
Stringnum="17623629758";
System.out.println(num.matches(regex));
}
}
Ⅳ 用Java验证姓名,年龄,电话怎么写。
1、汉字验证
这个方法改一下就行了
/**
*计算字符串长度.一个汉字的长度按2计算.如果给定的字符串为null,返回0.
*
*@paramstr
*待计算长度的字符串
*@return字符串长度
*/
publicstaticintstrlen(Stringstr){
if(str==null||str.length()<=0){
return0;
}
intlen=0;
charc;
for(inti=str.length()-1;i>=0;i--){
c=str.charAt(i);
if((c>='0'&&c<='9')||(c>='a'&&c<='z')||(c>='A'&&c<='Z')){//字母,数字
len++;
}else{
if(Character.isLetter(c)){//中文
len+=2;
}else{//符号或控制字符
len++;
}
}
}
returnlen;
}
2、电话
我给你个思路
就是把字符串转化为数字,然后用try catch 如果呢异常就表明是数字,至于长度length一下就行了,
或用这个
邮编号码:xxx.xxxx(都为数字)
固定电话号码:xx-xxxx-xxxx(都为数字)
手机号码:xxx-xxxx-xxxx(都为数字)
一般来说,基本的校验功能留给页面去处理,可以减轻服务器的负担。建议这些功能放在页面完成。
java中的正则表达式:
/**
*java正则表达式来判断是否EMAIL邮件
*
*@paramnumber
*待检测字符串
*@return若是返回true,否则返回false
*/
importorg.apache.oro.text.regex.MalformedPatternException;
importorg.apache.oro.text.regex.Pattern;
importorg.apache.oro.text.regex.PatternCompiler;
importorg.apache.oro.text.regex.PatternMatcher;
importorg.apache.oro.text.regex.Perl5Compiler;
importorg.apache.oro.text.regex.Perl5Matcher;
(Stringnumber){
//*Regexp匹配模式
//StringpostCodeRegexp="([0-9]{3})+.([0-9]{4})+";//邮政编码的匹配模式
//StringphoneRegexp="([0-9]{2})+-([0-9]{4})+-([0-9]{4})+";//固话的匹配模式
StringmobileRegexp="([0-9]{3})+-([0-9]{4})+-([0-9]{4})+";//手机的匹配模式
PatternCompilercompiler=newPerl5Compiler();
PatternMatchermatcher=newPerl5Matcher();
Patternpattern=null;
//Initializationofcompiler,matcher,andinputomitted;
try{
//pattern=compiler.compile(postCodeRegexp);
//pattern=compiler.compile(phoneRegexp);
pattern=compiler.compile(mobileRegexp);
}catch(MalformedPatternExceptione){
returnfalse;
}
if(matcher.matches(number,pattern))
returntrue;
else
returnfalse;
}
3、年龄跟电话差不多,也是转换为数字,然后比较一下是否大于120
Ⅳ java 正则表达式验证电话号码 11位数字,前2位是13开头 或15 开头 或18 开头
"^1[358]\\d{9}$"(不带引号)
这样就可以了
Ⅵ java正则表达式获取电话号码问题
在正则表达式中限定行首到行尾就可以了
^((13\d)|(15\d))\d{8}$
Ⅶ java用正则表达式判断客串是否为手机号
if(s1.matches(regex)){
System.out.println(s1);
}
if(s2.matches(regex)){
System.out.println(s2);
}
if(s3.matches(regex)){
System.out.println(s3);
}
if(s4.matches(regex)){
System.out.println(s4);
}
if(s5.matches(regex)){
System.out.println(s5);
}