欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

android驗證郵箱輸入是否合法

 更新時間:2019年05月24日 10:56:23   作者:我是很棒的啊  
這篇文章主要為大家詳細介紹了android驗證郵箱輸入是否合法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了android驗證郵箱輸入是否合法的具體代碼,供大家參考,具體內容如下

下面是驗證手機號和郵箱是否合法的方法,直接將這兩個靜態(tài)方法考入自己的項目中就可以用啦

public class MainActivity extends Activity implements View.OnClickListener {

 private Button btn;
 private EditText et;
 private TextView tv;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);

  btn = (Button) findViewById(R.id.btn);
  et = (EditText) findViewById(R.id.et);
  tv = (TextView) findViewById(R.id.tv);
  btn.setOnClickListener(this);
 }

 @Override
 public void onClick(View view) {
  switch (view.getId()) {
   case R.id.btn:

    String number = et.getText().toString();
    boolean judge = isMobile(number);
    if (judge == true) {
     tv.setText("手機號合法");
    } else {
     tv.setText("手機號不合法");
    }
    break;
  }
 }


// /**
//  * 驗證手機格式
//  */
 public static boolean isMobile(String number) {
 /*
 移動:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
 聯(lián)通:130、131、132、152、155、156、185、186
 電信:133、153、180、189、(1349衛(wèi)通)
 總結起來就是第一位必定為1,第二位必定為3或5或8,其他位置的可以為0-9
 */
 //"[1]"代表第1位為數(shù)字1,"[358]"代表第二位可以為3、5、8中的一個,"\\d{9}"代表后面是可以是0~9的數(shù)字,有9位。
  String num = "[1][358]\\d{9}";
  if (TextUtils.isEmpty(number)) {
   return false;
  } else {
   //matches():字符串是否在給定的正則表達式匹配
   return number.matches(num);
  }
 }
//郵箱驗證
 public static boolean isEmail(String strEmail) {
  String strPattern = "^[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";
  if (TextUtils.isEmpty(strPattern)) {
   return false;
  } else {
   return strEmail.matches(strPattern);
  }
 }


}

了解正則表達式

學習過程

1.概念:“正則表達式”(Regular Expression)就是一個特殊的字符串,用來匹配字符串與查找字符串

2.java基礎架包中:
java.util.regex 包主要由三個類所組成:Pattern、Matcher 和 PatternSyntaxException。

3.正則表達式的作用:

1).判斷字符串的正確性
2).查找字符串
3).在其他類特別是String中的使用

// 1.判斷字符串的正確性
 // 判斷電話號碼是否是以136開頭的11個數(shù)字的電話號碼
 private void m1(String s) {
  // 方式一:
  // boolean b = Pattern.matches("136\\d{8}", "13698987654");
  // 方式二:
  Pattern p = Pattern.compile("136\\d{8}");
  Matcher m = p.matcher(s);// 正則表達式 電話號號
  boolean b = m.matches();// 判斷是否匹配
  System.out.println(b);// true
}
// 2.查找字符串中是否有兩個數(shù)字組成的子字符串
 private void m3() {
  Pattern p = Pattern.compile("\\d{2}");
  Matcher m = p.matcher("a29abbccsdf");
  boolean b = m.find();
  System.out.println(b);// true
 }
// 3.在其它類特別是String中的使用
 // 通過運算符把字符串拆開
 public void m4() {
  // String s = "23+234-123*234/1000";
  // String[] a = s.split("\\+|\\-|\\*|/");

  String s = "11+22+33*66";
  String[] a = s.split("\\*");
  for (String string : a) {
   System.out.println(string);
  }
 }
//4.示例:判斷字符串是否以ax開頭by結尾,并且中間有僅只有一個字符
public class Test {
 public boolean m1(String str) {

// 方式一:
// Pattern p = Pattern.compile("ax.by");
// Matcher m = p.matcher(str);
// boolean b = m.matches();

// 方式二
 boolean b = Pattern.matches("ax.by", str);
 return b;
 }
 public static void main(String[] args) {
 Test t = new Test();
 System.out.println(t.m1("axmby"));
 }
}

4.提示1:正則表達式還可以在字符串中查找匹配的子字符串; 在其它類中的使用…..。(后面章節(jié)會講到)

5.提示2:

● Pattern 對象表示一個已編譯的正則表達式。Pattern 類沒有提供公共的構造方法。 必須調用公共的靜態(tài) compile 方法,它將返回一個 Pattern 對象。
● Matcher 是一個靠著輸入的字符串來解析這個模式和完成匹配操作的對象。 Matcher 也沒有定義公共的構造方法,需要通過調用 Pattern 對象的 matcher 方法來獲得一個 Matcher 對象。
● PatternSyntaxException 對象是一個未檢查異常,指示了正則表達式中的一個語法錯誤。

正則表達式通配符

學習過程

一、匹配字符的通匹符

1.”.” —> 用于匹配一個任意的字符

比如: “t.n”,它匹配“tan”、“ten”、“tin”和“ton”,還匹配“t#n”、“tpn”甚至“t n”
Pattern p = Pattern.compile(“a.b.c.d”);
Matcher m = p.matcher(“axbac2d”);// 正則表達式 電話號號
boolean b = m.matches();// 判斷是否匹配 true

2.”[]” —>為了解決”.”匹配范圍過于廣泛這一問題,你可以在方括號(“[]”)里面指定看來有意義的字符。此時,只有方括號里面指定的字符才參與匹配。也就是說,正則表達式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因為在方括號之內你只能匹配單個字符:

3.”|”—>如果除了上面匹配的所有單詞(tan”、“Ten”、“tin”和“ton”)之外,你還想要匹配“toon”,那么,你可以使用“|”操作符?!皘”操作符的基本意義就是“或”運算。要匹配“toon”,使用“t(a|e|i|o|oo)n”正則表達式。這里不能使用方擴號,因為方括號只允許匹配單個字符;這里必須使用圓括號“()”, 它的作用與算術表達式中的作用是一樣的,表示一個整體。

4.“-”表示數(shù)字或字母的范圍,

[0-9]表示0到9中的其中一個字符,[3-8]表示3到8中的一個字符
[a-z]表示a到z中的其中一個字符,[b-m]表示b到m中的一個字符
[A-Z]表示A到Z中的其中一個字符
[b-d3-8]表示b到z或3到8中其中一個字符
[a-dx-z]表示a到d或x到z中其中一個字符

示例:

[a-c][0-9]{3}可以匹配a234,b112,c223等.

5.”^” —> 即非,用來確定緊靠該符號右邊的符號不能出現(xiàn)

5.1 [^0-9]表示不可以為0到9中的一個字符
5.2 [^A]表示不可以為A的字符
5.3 [^a-c]表示不可以為a到c的字符

6.快捷符號

7.”\”表示轉義

如果正則表達式中要使用的字符與通配符沖突,則在前加上”\”表示不是通配符使用
比如”[0-9]{3}\*{2}[0-9]{2}a*” 中不是次數(shù),而是字符。它可以匹配0到9的三個數(shù)字開頭,后面是兩個*,再后是0到9的2個數(shù)字最后是0到多個a字符。
這個”234**23a”可以匹配上面的正則表達式。

8.”"表示結束,每個正則表達式后面都可以加上"表示結束,每個正則表達式后面都可以加上,實質上加與不加作用相同

9.特殊的匹配

[\u4e00-\u9fa5]匹配漢字
示例”[\u4e00-\u9fa5]{3}”, 可以匹配三個漢字組成的字符串

二、匹配次數(shù)的通匹符

這些符號用來確定緊靠該符號左邊的符號出現(xiàn)的次數(shù):

示例1:a*Hello可以匹配以Hello結尾,以0到多個a開頭的字符串,如Hello,aHello,aaHello,aaaHello
示例2:MyA*Hello可以匹配以My開頭,以Hello結尾,中間可以有0到多個A,如MyAAAHello
示例3:HelloE+World可以匹配以Hello開頭,以World結尾,中間可以有1到多個E,如HelloEEWorld
示例4:HelloE?World可以匹配以Hello開頭,以World結尾,中間必須有0到1個E
示例5:HelloE{3}World可以匹配以Hello開頭,以World結尾,中間必須有3個E
示例6:HelloE{2,4}World可以匹配以Hello開頭,以World結尾,中間必須有2到4個E
示例7:Hello[^abc]可以匹配以Hello開頭,不能以a或b或c結尾

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關文章

  • Android應用程序簽名步驟及相關知識介紹

    Android應用程序簽名步驟及相關知識介紹

    本文主要介紹Android應用程序簽名相關的理論知識,包括:什么是簽名、為什么要給應用程序簽名、如何給應用程序簽名等,感興趣的朋友可以參考下哈
    2013-04-04
  • 利用Android實現(xiàn)比較炫酷的自定義View

    利用Android實現(xiàn)比較炫酷的自定義View

    自定義View、多線程、網(wǎng)絡,被認為是Android開發(fā)者必須牢固掌握的最基礎的三大基本功,這篇文章主要給大家介紹了關于如何利用Android實現(xiàn)比較炫酷的自定義View的相關資料,需要的朋友可以參考下
    2021-07-07
  • Android 連接Wifi和創(chuàng)建Wifi熱點的實例

    Android 連接Wifi和創(chuàng)建Wifi熱點的實例

    本篇文章介紹了Android 連接Wifi和創(chuàng)建Wifi熱點,小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧。
    2016-10-10
  • Android中Glide獲取圖片Path、Bitmap用法詳解

    Android中Glide獲取圖片Path、Bitmap用法詳解

    這篇文章主要介紹了Android中Glide獲取圖片Path、Bitmap用法以及代碼分析,需要的朋友們參考一下吧。
    2017-12-12
  • Android仿微信頂/底部菜單欄效果

    Android仿微信頂/底部菜單欄效果

    這篇文章主要介紹了Android仿微信底部菜單欄和頂部菜單欄實現(xiàn)效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Android編程實現(xiàn)的短信編輯器功能示例

    Android編程實現(xiàn)的短信編輯器功能示例

    這篇文章主要介紹了Android編程實現(xiàn)的短信編輯器功能,涉及Android權限控制、界面布局及短信功能相關操作技巧,需要的朋友可以參考下
    2017-08-08
  • 在Android環(huán)境下WebView中攔截所有請求并替換URL示例詳解

    在Android環(huán)境下WebView中攔截所有請求并替換URL示例詳解

    這篇文章主要介紹了在Android環(huán)境下WebView中攔截所有請求并替換URL示例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Android Activity Results API代替onActivityResult處理頁面數(shù)據(jù)

    Android Activity Results API代替onActivityResul

    說到onActivityResult,我們已經非常熟悉來,通過在A activity啟動B activity并且傳入數(shù)據(jù)到B中,然后在A中通過onActivityResult來接收B中返回的數(shù)據(jù)。在最新的activity-ktx的beta版本中,谷歌已經廢棄了onActivityResult
    2022-09-09
  • 去除arraylist容器中的相同的對象元素的方法

    去除arraylist容器中的相同的對象元素的方法

    下面小編就為大家?guī)硪黄コ齛rraylist容器中的相同的對象元素的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Android標題欄最右邊添加按鈕的實例

    Android標題欄最右邊添加按鈕的實例

    這篇文章主要介紹了Android標題欄最右邊添加按鈕的實例的相關資料,希望通過本文大家能掌握如何操作,需要的朋友可以參考下
    2017-09-09

最新評論