用正則判斷,
創(chuàng)新互聯(lián)公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個客戶多一個朋友!為您提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、成都網(wǎng)頁設(shè)計、重慶小程序開發(fā)公司、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、成都app開發(fā)是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計公司,等你一起來見證!
/**
*?驗證手機(jī)號碼格式是否正確
*?@param?mobiles
*?@return??true?表示正確??false表示不正確
*/
public?static?boolean?isMobileNum(String?mobiles)?{
Pattern?p?=?Pattern.compile("^((13[0-9])|(15[0-9])|(18[0-9]))\\d{8}");
Matcher?m?=?p.matcher(mobiles);
return?m.matches();
}
當(dāng)然手機(jī)號碼好像還有17開頭的,對應(yīng)的正則改一下就好
"^((13[0-9])|(15[0-9])|(18[0-9])|(17[0-9]))\\d{8}"
然后在你的代碼里面調(diào)用這個方法,如果結(jié)果為false,就throw new MyException(“手機(jī)號碼格式不正確”)一個異常。
異常定義可以去繼承Exception
/**
*?Created?by?Kevin?on?2015/3/30.
*/
public?class?MyException?extends?Exception{
private?String?msg;
public?MyException(String?msg)?{
super(msg);
this.msg?=?msg;
}
@Override
public?String?getMessage()?{
return?msg;
}
}
if(isNaN(x)){}
這個就是判斷是不是數(shù)字.
如果為真,說明a不是數(shù)字 如果為假,則說明a是數(shù)字
如果你要判斷長度對不對啊 也可以用
if(x.length=7||x.length=12){} 限制電話號碼在7-12位之間
如果沒有其他要求,下面的就可以
^(13|15|18)\\d{9}$
表示以13或15或18開頭,后面9位數(shù)字結(jié)尾
public class SortTest {
public static void main(String[] args) {
String str="13020895785";
System.out.println(str.matches("^(13|15|18)\\d{9}$"));
}
}
public static boolean isMobile(String str) {
Pattern p = null;
Matcher m = null;
boolean b = false;
p = Pattern.compile("^[1][3,4,5,8][0-9]{9}$"); // 驗證手機(jī)號
m = p.matcher(str);
b = m.matches();
System.out.println(b);
return b;
}
public class NiHao { public static void main(String[] args) { String str = "18946178006"; // 一個字符串 boolean flag = true;// 聲明boolean變量,并為真 if (str.length() == 11) {// 判斷手機(jī)號碼的長度,length()方法是活的str這個字符串的長度 for (int i = 0; i str.length(); i++) {// 利用for循環(huán),從str的第一位開始檢測也就是1開始到6結(jié)束 char c = str.charAt(i);// charAt(i)是獲取str這個字符串的第i+1位上的字符,也就是下標(biāo)為i的char型變量,分別為1,8,9.。。。6 if (!Character.isDigit(c)) {//每次循環(huán),都要判斷一下這個c是不是數(shù)字 flag = false; //如果不是數(shù)字,將flag設(shè)置為false break; //只要有一個非數(shù)字,則終止循環(huán) } } }else{ flag = false ; //如果長度不是11位,將flag設(shè)置為flag } if (flag) { System.out.println("是手機(jī)號"); } else { System.out.println("不是"); } } } 我給你修改了一下,看看那里還看不懂。溫馨提示,手機(jī)號碼可不是這樣判斷的,假如str="00000000000",你能說它是手機(jī)號碼么?最好用正則表達(dá)式
寫在前面:最好還是用正則表達(dá)式,簡單易懂,易于維護(hù)
===================================
//這個方法判斷是不是合法的手機(jī)號碼
public boolean isPhoneNumber(String phoneNumber){
//手機(jī)號碼長度
int phoneLength=phoneNumber.length();
//第一位是不是0
String phoneOne=phoneNumber.substring(0,1);
//是不是 +86形式
int is86=phoneNumber.indexOf("+86");
//是純數(shù)字 并且長度等于11 并且第一位不是0 并且 不包含+86
return isNumeric(phoneNumber)phoneLength==11!phoneOne.equals("0")is86==-1;
}
//這個方法判斷字符串是不是純數(shù)字
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
文章標(biāo)題:java代碼校驗手機(jī)號碼,java手機(jī)號格式校驗
網(wǎng)頁路徑:http://chinadenli.net/article12/hesedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、企業(yè)建站、微信小程序、網(wǎng)頁設(shè)計公司、搜索引擎優(yōu)化、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)