下面是验证手机号和邮箱是否合法的方法,直接将这两个静态方法考入自己的项目中就可以用啦

public class MainActivity extends Activity implements View.OnClickListener {private Button btn;private EditText et;private TextView tv;@Overrideprotected 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);}@Overridepublic 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联通:130、131、132、152、155、156、185、186电信:133、153、180、189、(1349卫通)总结起来就是第一位必定为1,第二位必定为3或5或8,其他位置的可以为0-9*///"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有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个数字的电话号码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.查找字符串中是否有两个数字组成的子字符串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"));}
}
// 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);}}public void m5() {String s = "aa23bb13cc12dd90ee";String[] a = s.split("\\d{2}");for (String string : a) {System.out.println(string);}}

4.提示1:正则表达式还可以在字符串中查找匹配的子字符串; 在其它类中的使用…..。(后面章节会讲到)
5.提示2:
● Pattern 对象表示一个已编译的正则表达式。Pattern 类没有提供公共的构造方法。 必须调用公共的静态 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.“-”表示数字或字母的范围,
[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.”^” —> 即非,用来确定紧靠该符号右边的符号不能出现
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*” 中不是次数,而是字符。它可以匹配0到9的三个数字开头,后面是两个*,再后是0到9的2个数字最后是0到多个a字符。
这个”234**23a”可以匹配上面的正则表达式。

8.”"表示结束,每个正则表达式后面都可以加上"表示结束,每个正则表达式后面都可以加上,实质上加与不加作用相同

9.特殊的匹配
[\u4e00-\u9fa5]匹配汉字
示例”[\u4e00-\u9fa5]{3}”, 可以匹配三个汉字组成的字符串

二、匹配次数的通匹符
这些符号用来确定紧靠该符号左边的符号出现的次数:
示例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开发-验证邮箱输入是否合法相关推荐

  1. html 验证邮箱地址,利用javascript验证邮箱地址是否合法

    利用javascript验证邮箱地址是否合法 源代码如下: 验证邮箱地址合法性 function EmailAddressTest() { //获取用户输入的邮箱地址相关的信息 var EmailSt ...

  2. 验证邮箱是否合法php,验证邮箱字段是否合法

    摘要:html> 邮箱登录字段验证邮箱登录字段验证 用户登陆$.get() 邮箱: 密码: 登陆 $('button').click(function(){ //邮箱的非空验证 if($('#e ...

  3. android 开发 网易邮箱,怎么在Android客户端设置网易企业邮箱

    网易企业邮箱用手机是怎么设置的呢?在Android客户端设置网易企业邮箱的方法其实很简单,下面由学习啦小编告诉你! 在Android客户端设置网易企业邮箱的方法 1.POP设置 1创建帐号,选择邮件提 ...

  4. Android 正则表达式验证手机和邮箱格式是否正确

    demo例子: package it.com.cc; import java.util.regex.Matcher; import java.util.regex.Pattern; import an ...

  5. JavaScript - JS验证邮箱 ××× VISA 卡输入是否正确|正则表达式

    JS验证邮箱 ××× VISA 卡输入是否正确,收藏了一些常用的检测用户输入的JS和正则式. 用正则表达式验证Email的合法性: Email验证的正则表达式: /^(\w+((-\w+)|(\.\w ...

  6. php 邮箱开发教程,php开发中表单验证邮箱及URL的教程

    这篇文章讲述的是php开发中表单验证邮箱及URL的教程.下面是小编整理于php培训班的笔记,希望学过的同学可以能够起到回顾作用.同时也能帮助没有接触到的同学. PHP 表单验证 - 验证 E-mail ...

  7. Android开发笔记(一百三十八)文本输入布局TextInputLayout

    文本输入布局TextInputLayout TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件.众所周知,EditText未输入字符时,我们可以 ...

  8. 用户输入邮箱,验证邮箱格式是否正确(验证用户输入的邮箱地址中是否含有字符'@')

    要求:用户输入邮箱,验证邮箱格式是否正确(验证用户输入的邮箱地址中是否含有字符'@'). 目的:掌握邮箱验证控件的原理和方法. #include<stdio.h> #include< ...

  9. Java用正则表达式验证用户输入的手机号和QQ邮箱

    import java.util.Scanner;public class Test {public static void main(String[] args) {//用正则验证 用户输入的手机号 ...

最新文章

  1. python计时器精度_在python中获得更精确的计时器
  2. 计算 webView 显示内容后实际高度
  3. Memcached深度分析
  4. 一章: CentOS6.5 网络配置、修改主机名、添加硬盘、压缩——解压方法、VNC—server配置
  5. Hyperledger Fabric Java SDK最新教程
  6. 巫师3狂猎游戏风景Mac动态壁纸
  7. 10个优秀的Objective-C和iOS开发在线视频教程
  8. idea 使用神坑之索引篇(自定义不创建索引文件夹)
  9. 支持医学研究的Apple开源移动框架
  10. Redis 6.0 源码阅读笔记(6) -- Set 数据类型源码分析
  11. 动态时间归整/规整/弯曲(Dynamic time warping,DTW)
  12. 宗地图绘制要求和规范_地籍图、宗地图、房产图的制图规范
  13. 未知错误 ID:-2147467259 操作必须使用一个可更新的查询
  14. 武汉工程大学计算机学院吴云韬,周华兵-武汉工程大学计算机科学与工程学院...
  15. Jzoj 一维数组(包括排序)部分代码(共42题)
  16. GD32IAP升级(BootLoader)
  17. Deep Pyramidal Residual Networks for Spectral-Spatial HSIs Classification(2019)——深度学习论文笔记(二)
  18. 好莱坞电影调色_好莱坞正式支持电影制作中的开源
  19. 如何从零建立一个词表
  20. java代理模式学习笔记

热门文章

  1. 装在笔记本里的私有云环境:网络存储篇(中)
  2. Flutter淘宝App之首页聚划算倒计时的实现
  3. html怎么控制行的字数,怎样控制Word文档一页的行数和每行的字数?
  4. eclipse软件无法打开的原因
  5. iOS16锁屏可定制,WPS回应“删除用户本地文件”,紫光集团重整阶段即将收官,今日更多大新闻在此...
  6. C语言 给定一个字符串,统计‘a’的个数
  7. [ESP32]学习笔记07
  8. 编译原理 —— 什么是编译
  9. Pandas 时间序列 - DateOffset 对象
  10. Error - 使用statsmodels报错ModuleNotFoundError: No module named 'pandas.tseries.tools'