1. 程式人生 > >android中對輸入手機號碼有效性驗證(是否為正確的手機號碼)

android中對輸入手機號碼有效性驗證(是否為正確的手機號碼)

 在Utils包名下面建立電話號碼匹配工具類
public class TelNumMatch {
    /*
     * 10. * 移動: 2G號段(GSM網路)有139,138,137,136,135,134,159,158,152,151,150, 11. *
     * 3G號段(TD-SCDMA網路)有157,182,183,188,187,181 147是移動TD上網絡卡專用號段. 聯通: 12. *
     * 2G號段(GSM網路)有130,131,132,155,156 3G號段(WCDMA網路)有186,185 電信: 13. *
     * 2G號段(CDMA網路)有133,153 3G號段(CDMA網路)有189,180 14.
     */
static String YD = "^[1]{1}(([3]{1}[4-9]{1})|([5]{1}[012789]{1})|([8]{1}[12378]{1})|([4]{1}[7]{1}))[0-9]{8}$"; static String LT = "^[1]{1}(([3]{1}[0-2]{1})|([5]{1}[56]{1})|([8]{1}[56]{1}))[0-9]{8}$"; static String DX = "^[1]{1}(([3]{1}[3]{1})|([5]{1}[3]{1})|([8]{1}[09]{1}))[0-9]{8}$"; String mobPhnNum; public
TelNumMatch(String mobPhnNum) { this.mobPhnNum = mobPhnNum; Log.d("tool", mobPhnNum); } public int matchNum() { /** * 28. * flag = 1 YD 2 LT 3 DX 29. */ int flag;//儲存匹配結果 // 判斷手機號碼是否是11位 if (mobPhnNum.length() == 11) { // 判斷手機號碼是否符合中國移動的號碼規則
if (mobPhnNum.matches(YD)) { flag = 1; } // 判斷手機號碼是否符合中國聯通的號碼規則 else if (mobPhnNum.matches(LT)) { flag = 2; } // 判斷手機號碼是否符合中國電信的號碼規則 else if (mobPhnNum.matches(DX)) { flag = 3; } // 都不適合,未知֪ else { flag = 4; } } // 不是11位 else { flag = 5; } Log.d("TelNumMatch", "flag" + flag); return flag; } //手機號碼的有效性驗證 public static boolean isValidPhoneNumber(String number) { boolean flag=false; if(number.length()==11 && (number.matches(YD)||number.matches(LT)||number.matches(DX))) { flag=true; } return flag; } //判斷手機號碼是否存在 public static boolean isExistPhoneNumber(String number) { return false; } //判斷email地址是否有效 public static boolean isEmail(String email) { String patternString="^[\\w\\.-][email protected]([\\w\\-]+\\.)+[A-Z]{2,4}$"; return isMatcher(patternString,email); } //是否是數字和字母 public static boolean isMatchCharOrNumber(String str) { String patternString="^[\\d|a-z|A-Z]+$"; return isMatcher(patternString,str); } //是否匹配 public static boolean isMatcher(String patternString,String str) { boolean isValid=false; CharSequence inputStr =str ; Pattern pattern =Pattern.compile(patternString,Pattern.CASE_INSENSITIVE); Matcher matcher=pattern.matcher(inputStr); if(matcher.matches()) { isValid =true; } return isValid; } }
2.在程式碼中判斷輸入的電話號碼是否為有效的電話號碼

// 手機號碼的有效性驗證֤
String userPhoneNumber = mEditPhoneNumber.getText().toString();
if (!TelNumMatch.isValidPhoneNumber(userPhoneNumber)) {
    Toast.makeText(LonginActivity.this, "請輸入正確的手機號碼",Toast.LENGTH_SHORT).show();
}

相關推薦

android輸入手機號碼有效性驗證是否正確手機號碼

 在Utils包名下面建立電話號碼匹配工具類 public class TelNumMatch { /* * 10. * 移動: 2G號段(GSM網路)有139,138,137,136,135,134,159,158,152,151,150,

關於在 vue專案echarts圖表的一些控制及陣列物件去重

1.利用replace對後臺返回的json資料做替換處理 (不管是多麼複雜的資料結構,都可以利用這樣的方法去全部匹配) var json = [{'real-name':'lolo'},{'real-name':'abc'},{'real-name':'

android EditView輸入電話號碼3+4+4格式

在android中需要在EditView中輸入電話號碼3 + 4 + 4格式時,以下兩種方式都可以實現,但是個人覺得第一種方式,即獲取EditView文字內容變化是最好的方式。所謂3+4+4的電話號碼格式,如:135 4567 8900 第一種:捕捉EditView的內容改

AndroidHandle機制的理解

trac 意義 還要 break create findview curl net protected 一、重要參考資料 【參考資料】 眼下來看,以下的幾個網址中的內容質量比較不錯。基本不須要再讀別的網址了。 1、android消息機制一

Android集合的物件進行排序

最近需要一個對圖片物件進行排序的功能。 思路: 1、新建一個類實現Comparator<?>,這個類是實現比較的關鍵類,一般做比較的型別為int或String。 public class OrderSortUtil implements Comparator<

AndroidOkHttp的封裝使用

一、OkHttp導包: compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.okio:okio:1.9.0' compile 'com.google.c

android某一個頁面設定常亮

android中如何保持頁面的方式四種 1.WakeLock 2.FLAG_KEEP_SCREEN_ON  3.keepScreenOn 4.MediaPlayer的 setScreenOnWhilePlaying(),這個用於視訊,MediaPlayer提供的方法

android如何取得使用者手機的常用聯絡人即收藏夾的聯絡人

程式碼: /*** 獲得收藏夾的聯絡人*/private void getKeepedContacts(){Cursor cur = getContentResolver().query(                   ContactsContract.Contac

Android文字實現跑馬燈效果

關於在Android中文字實現跑馬燈效果 方法一:(只能實現單個TextView的跑馬燈效果) android:singleLine=”true”只能單行,超出的文字顯示為”…” android:

androidView的onMeasure()方法的理解

在android開發中,很多人對自定義View是望而生畏,我也一樣,但這又是向高階進階的必經之路,主要是對View裡面的很多方法不知道怎麼理解,其中一個就是onMeasure()方法,網上有很多這樣解釋說明,可能是由於我的領悟力有限,一直沒能搞明白,今天有點空,

AndroidLog日誌檔案的分析

一,Bug出現了, 需要“幹掉”它  bug一聽挺嚇人的,但是隻要你懂了,android裡的bug是很好解決的,因為android裡提供了LOG機制,具體的底層程式碼,以後在來分析,只要你會看bug, android裡應用開發也就很簡單了。 那我們先來看看andr

AndroidListView、RecycleView裡面的資料進行排序方法總結

最近的開發過程中遇到了,按照bean類中的多個欄位進行排序的情況,藉此機會把相關的排序做法,簡單整理備份一下。 1.list的單純排序 2.list元素為bean的情況,按照bean的某一個屬性進行排序 3.list元素為bean的情況,按照bean的多個屬性進行排序 import java.util.A

androidsim卡聯絡人的增刪改查以及監聽sim卡聯絡資料的改變

sim卡聯絡人的增刪改查主要是通過ContentProvider來進行操作的,在android中對sim卡聯絡人操作的provider是定義在IccProvider.java這個類中的,這個類位於android原始碼的位置frameworks/base/telephony/

Android圖片的記憶體優化方法

Android 中對於圖片的記憶體優化方法1. 對圖片本身進行操作儘量不要使用 setImageBitmap、setImageResource、BitmapFactory.decodeResource來

android圖片進行切圓,畫白邊

private static Bitmap getCircleAvatar(Context context, Bitmap avatar) {// TODO Auto-generated method stubBitmap bitmap=Bitmap.createBitma

iOS HTTPS 證書鏈的驗證

稍微整理了下,共扯了三部分內容: HTTPS 簡要原理;數字證書的內容、生成及驗證;iOS 上對證書鏈的驗證。HTTPS 概要 HTTPS 是執行在 TLS/SSL 之上的 HTTP,與普通的 HTTP 相比,在資料傳輸的安全性上有很大的提升。 要了解它安全性的巧妙之處,需要先簡單地瞭解對稱加密和非對稱加密

android服務端的長連線【socket】

    我們有時候有這種需求,即我們的android客戶端要始終保持與服務端的連線,當服務端有任務或訊息傳送到android客戶端的時候就傳送,沒有任務或訊息的時候不傳送但要保持這個連線,一旦有任務則開發傳送,而我們的android客戶端則要保持一個時刻接收任務或訊息的狀態

Android 任務設定超時

最近專案上有個需求,就是感覺在網路不好的情況下上傳圖片的時間太長,想對這個操作進行一個時間的限制!找了很近沒有發現有特別簡單的方法,最後發現了兩個以前沒有用過的東西:callable和future; 關於callable和future的使用方法這裡就不做很詳細的介紹了,網上

Android/data/data//files下檔案的讀寫操作

本文重點展示,對/data/data/<package name>/files中檔案的讀寫操作的實現。       一、寫出資料到files資料夾中,Activity提供了openFileOutput()方法,可以把資料輸出到/data/data/<p

Android判斷輸入的字串是否數字,可以解決如輸入點出現的問題

/*** 判斷字串是否為數字* 包括負數* @param str* @return*/public static boolean isNumerEX(String str) {Pattern pattern = Pattern.compile("-?[0-9]+.?[0-9