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的內容改
Android中對Handle機制的理解
trac 意義 還要 break create findview curl net protected 一、重要參考資料 【參考資料】 眼下來看,以下的幾個網址中的內容質量比較不錯。基本不須要再讀別的網址了。 1、android消息機制一
Android中對集合中的物件進行排序
最近需要一個對圖片物件進行排序的功能。 思路: 1、新建一個類實現Comparator<?>,這個類是實現比較的關鍵類,一般做比較的型別為int或String。 public class OrderSortUtil implements Comparator<
Android中對OkHttp的封裝使用
一、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:
android中對View的onMeasure()方法的理解
在android開發中,很多人對自定義View是望而生畏,我也一樣,但這又是向高階進階的必經之路,主要是對View裡面的很多方法不知道怎麼理解,其中一個就是onMeasure()方法,網上有很多這樣解釋說明,可能是由於我的領悟力有限,一直沒能搞明白,今天有點空,
Android中對Log日誌檔案的分析
一,Bug出現了, 需要“幹掉”它 bug一聽挺嚇人的,但是隻要你懂了,android裡的bug是很好解決的,因為android裡提供了LOG機制,具體的底層程式碼,以後在來分析,只要你會看bug, android裡應用開發也就很簡單了。 那我們先來看看andr
Android中對ListView、RecycleView裡面的資料進行排序方法總結
最近的開發過程中遇到了,按照bean類中的多個欄位進行排序的情況,藉此機會把相關的排序做法,簡單整理備份一下。 1.list的單純排序 2.list元素為bean的情況,按照bean的某一個屬性進行排序 3.list元素為bean的情況,按照bean的多個屬性進行排序 import java.util.A
android中對sim卡聯絡人的增刪改查以及監聽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