1. java里怎么用正则表达式判断字符串是否为合法的手机号
恕我直言,在坐的各位都是渣渣,判断第一位是1就是手机号真是可笑
public static boolean isMobileNO(String mobiles) {
String telRegex = "[1][3578]\\d{9}";
// "[1]"代表第1位为数字1,"[3578]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
if (TextUtils.isEmpty(mobiles)) {
return false;
} else
return mobiles.matches(telRegex);
}
2. java中给定字符串,看它是否为手机号
public class NiHao { public static void main(String[] args) { String str = "18946178006"; // 一个字符串 boolean flag = true;// 声明boolean变量,并为真 if (str.length() == 11) {// 判断手机号码的长度,length()方法是活的str这个字符串的长度 for (int i = 0; i < str.length(); i++) {// 利用for循环,从str的第一位开始检测也就是1开始到6结束 char c = str.charAt(i);// charAt(i)是获取str这个字符串的第i+1位上的字符,也就是下标为i的char型变量,分别为1,8,9.。。。6 if (!Character.isDigit(c)) {//每次循环,都要判断一下这个c是不是数字 flag = false; //如果不是数字,将flag设置为false break; //只要有一个非数字,则终止循环 } } }else{ flag = false ; //如果长度不是11位,将flag设置为flag } if (flag) { System.out.println("是手机号"); } else { System.out.println("不是"); } } } 我给你修改了一下,看看那里还看不懂。温馨提示,手机号码可不是这样判断的,假如str="00000000000",你能说它是手机号码么?最好用正则表达式
3. java编程实现自定义异常判断一个手机号码的合法性
用正则判断,
/**
*验证手机号码格式是否正确
*@parammobiles
*@returntrue表示正确false表示不正确
*/
(Stringmobiles){
Patternp=Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9]))\d{8}");
Matcherm=p.matcher(mobiles);
returnm.matches();
}
当然手机号码好像还有17开头的,对应的正则改一下就好
"^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\d{8}"
然后在你的代码里面调用这个方法,如果结果为false,就throw new MyException(“手机号码格式不正确”)一个异常。
异常定义可以去继承Exception
/**
*CreatedbyKevinon2015/3/30.
*/
{
privateStringmsg;
publicMyException(Stringmsg){
super(msg);
this.msg=msg;
}
@Override
publicStringgetMessage(){
returnmsg;
}
}
4. 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));
}
}
5. Java中怎么判断电话号码只能小于等于11位数
推荐你使用正则表达式
如果仅是满足11位数字的话,如下:
^d{11}$
如果满足11位,且校验合法性的话,如下:
^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])d{8}$
6. JAVA 判断号码是手机还是固话
/**
* 验证是否是手机号码
*
* @param str
* @return
*/
public static boolean isPhone(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern.compile("^(1[3,4,5,7,8][0-9])\\d{8}$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
/**
* 是否是座机电话号码
*
* @param str
* @return
*/
public static boolean isFixedLine(String str) {
if (ValidationUtils.isEmpty(str)) {
return false;
}
Pattern pattern = Pattern
.compile("^([0-9]{3}-?[0-9]{8})|([0-9]{4}-?[0-9]{7})$");
Matcher matcher = pattern.matcher(str);
boolean b = matcher.matches();
return b;
}
7. Java快速判断是不是手机号
可以借助正则表达式来验证手机号码,这是比较高效的做法
publicclassIsPhone{
publicfinalstaticStringPHONE_PATTERN="^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([0,1,6,7,]))|(18[0-2,5-9]))\d{8}$";
publicstaticvoidmain(String[]args){
Scannerscan=newScanner(System.in);
System.out.println("请输入验证号码");
Stringval=scan.nextLine();
booleanisPhone=Pattern.compile(PHONE_PATTERN).matcher(val).matches();
System.out.println(isPhone?"是一个手机号码":"不是手机号");
}
}
8. java中怎样判断电话号码是否正确!
if(isNaN(x)){}
这个就是判断是不是数字.
如果为真,说明a不是数字 如果为假,则说明a是数字
如果你要判断长度对不对啊 也可以用
if(x.length<=7||x.length>=12){} 限制电话号码在7-12位之间
9. 求java代码判断手机号是不是移动号
这个你要根据移动和其他号码不同的地方 , 也就是开头三位数来判断啊
可以将手机号用字符来表示
然后用String的 startsWith("150") 方法来判断 , 当然如果这样的话 , 你需要搜集移动号码的所有可能性 , 然后用 || 逻辑或 放在一起
或者你也可以把所有移动手机号所属的前三位 放到一个数组或者集合中 , 比如{"150","158"}
然后把需要判断的手机号 截取前三位 , 判断是否在集合或者数组中
10. java如何判断手机号码是11为且第一位不是0且不是+86的形式
写在前面:最好还是用正则表达式,简单易懂,易于维护
===================================
//这个方法判断是不是合法的手机号码
public boolean isPhoneNumber(String phoneNumber){
//手机号码长度
int phoneLength=phoneNumber.length();
//第一位是不是0
String phoneOne=phoneNumber.substring(0,1);
//是不是 +86形式
int is86=phoneNumber.indexOf("+86");
//是纯数字 并且长度等于11 并且第一位不是0 并且 不包含+86
return isNumeric(phoneNumber)&&phoneLength==11&&!phoneOne.equals("0")&&is86==-1;
}
//这个方法判断字符串是不是纯数字
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}