android验证邮箱输入是否合法

本文实例为大家分享了android验证邮箱输入是否合法的具体代码,供大家参考,具体内容如下

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

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
  联通: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"));
 }
}

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结尾

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Android实现邮箱验证功能

    本文实例为大家分享了Android实现邮箱验证功能的具体代码,供大家参考,具体内容如下 目标效果: < 资源包(三个jar包和两个java页面):点击打开链接 1.首先需要注册一个邮箱(作为一个专门发验证码的邮箱,我是新注册的),然后打开网页版中POP3那一栏: 2.两个方格全打勾: 3.提示让设置授权码: 4.默认为停用,点击开启: 5.提示输入授权码,输入完成后会显示表格,表格右边显示未停用: 6.邮箱配置完成 7.新建项目,将资源包中三个jar包导入并引用,然后加入另外两个Java页面,更

  • android验证邮箱输入是否合法

    本文实例为大家分享了android验证邮箱输入是否合法的具体代码,供大家参考,具体内容如下 下面是验证手机号和邮箱是否合法的方法,直接将这两个静态方法考入自己的项目中就可以用啦 public class MainActivity extends Activity implements View.OnClickListener { private Button btn; private EditText et; private TextView tv; @Override protected vo

  • javascript表单验证使用示例(javascript验证邮箱)

    被 JavaScript 验证的这些典型的表单数据有: 用户是否已填写表单中的必填项目?用户输入的邮件地址是否合法?用户是否已输入合法的日期?用户是否在数据域 (numeric field) 中输入了文本?必填(或必选)项目 下面的函数用来检查用户是否已填写表单中的必填(或必选)项目.假如必填或必选项为空,那么警告框会弹出,并且函数的返回值为 false,否则函数的返回值则为 true(意味着数据没有问题): 复制代码 代码如下: function validate_required(field

  • 最新JS正则表达式验证邮箱和手机号实例(2022)

    验证邮箱的正则表达式: const regEmail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/ 或 const regEmail = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/ 验证手机号的正则表达式: const regMobile = /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[

  • java正则表达式验证邮箱、电话号码示例

    下面的代码使用正则表达式验证输入格式包括了验证邮箱和验证手机号码 复制代码 代码如下: package com.firewolf.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; /**  * 使用正则表达式验证输入格式  * @author liuxing  *  */ public class RegexValidateUtil {  public static void main(String[]

  • iOS中使用正则表达式NSRegularExpression 来验证textfiled输入的内容

    何谓正则表达式 正则表达式(regular expression),在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容.正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的.正则表达式通常缩写成"regex",单数有regexp.regex,复数有regexps.regexes.regexen. 正则表达式组成 正则表达式有两种类型的字符

  • PHP自带方法验证邮箱是否存在

    PHP校验邮箱地址的方法很多, 比较常用的就是自己写正则了, 不过正则多麻烦, 我PHP自带了方法做校验. filter_var filter_var是PHP内置的一个变量过滤的方法, 提供了很多实用的过滤器, 可以用来校验整数.浮点数.邮箱.URL.MAC地址等. filter_var如果返回false, 说明变量无法通过过滤器, 也就是不合法了. $email = "lastchiliarch@163.com"; var_dump(filter_var($email, FILTER

  • PHP实现的激活用户注册验证邮箱功能示例

    本文实例讲述了PHP实现的激活用户注册验证邮箱功能.分享给大家供大家参考,具体如下: 这里将结合实例介绍如何使用PHP+Mysql完成注册帐号.发送激活邮件.验证激活帐号.处理URL链接过期的功能. 注册邮箱激活流程 1.用户注册 2.插入用户数据,此时帐号未激活状态. 3.将用户名密码或其他标识字符加密构造成激活识别码(你也可以叫激活码). 4.将构造好的激活识别码组成URL发送到用户提交的邮箱. 5.用户登录邮箱并点击URL,进行激活. 6.验证激活识别码,如果正确则激活帐号. t_user

  • 检测邮箱地址是否合法 Check Mail Address (For: IE5+、FF1.06、Opera 7+ ...)[

    Code:检测邮箱地址是否合法 Check Mail Address (For: IE5+.FF1.06.Opera 7+ ...) body {font-size:14px;} function ChkMail(o){ var reEml = /^[\w\-\.]+@[a-z0-9]+(\-[a-z0-9]+)?(\.[a-z0-9]+(\-[a-z0-9]+)?)*\.[a-z]{2,4}$/i; var isOk=reEml.test(o.value); if (isOk==false){

  • jquery验证邮箱格式是否正确实例讲解

    我们来看看都有哪些邮箱: 我们如果一个个的邮箱进行判断,显然是不可能的了. -个完整的Internet邮件地址由以下两个部分组成,格式如下:登录名@主机名.域名 中间用-个表示"在"(at)的符号"@"分开,符号的左边是对方的登录名,右边是完整的主机名,它由主机名与域名 组成.其中,域名由几部分组成,每一部分称为一个子域(Subdomain),各子域之间用圆点"."隔开,每个子域都会告诉用户一些有关这台邮件服务器 的信息. 关键验证的正则表达式:

随机推荐