Android-实现对邮箱的验证

由于Android开发中经常会使用到表单,还有相关的提交,验证等等。接下来是一个关于EditText的邮箱格式验证:

那么首先要有一个布局文件

非常简单 的只有一个button+EditText+TextView,如下

相关代码:

 <TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:layout_alignParentTop="true"android:layout_marginStart="30dp"android:layout_marginTop="167dp"android:text="邮箱"tools:layout_editor_absoluteX="55dp"tools:layout_editor_absoluteY="170dp" /><EditTextandroid:id="@+id/ed_email"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_below="@+id/textView"android:layout_marginEnd="21dp"android:ems="10"android:inputType="textPersonName"android:text="Name"tools:layout_editor_absoluteX="135dp"tools:layout_editor_absoluteY="22dp" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="提交"tools:layout_editor_absoluteX="118dp"tools:layout_editor_absoluteY="217dp" />

邮箱验证需要的函数isEmail():

邮箱的格式应改为:数字或者字母@数字或字母.数字或字母
正则匹配可以参考:http://www.runoob.com/java/java-regular-expressions.html

public static boolean isEmail(String email){if (null==email || "".equals(email)) return false;//Pattern p = Pattern.compile("\\w+@(\\w+.)+[a-z]{2,3}"); //简单匹配Pattern p =  Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");//复杂匹配Matcher m = p.matcher(email);return m.matches();}

接下来就要在MainActivity中实现逻辑了:

简单的通过id获取各个控件,还有其他的就不多说了。主要是实现对isEmail()函数的调用。

public class MainActivity extends AppCompatActivity {//声明需要的控件private static EditText ed_email;private Button button;//由于Android边编译边生成的原理,将匹配字符串放入全局,作为静态变量可以提高效率public static Pattern p = Pattern.compile("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setFullScreen();allWindow();//实体化控件ed_email=(EditText)findViewById(R.id.ed_email);button=(Button)findViewById(R.id.button);//对button添加点击事件button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//调用编写的isEmail()函数//获取到输入的内容并转换为字符串形式,这样才可以进行匹配,且邮箱格式不能太长,字符串长度31以内//按照实际需要可以添加不同的事件if (isEmail(ed_email.getText().toString().trim()) && ed_email.getText().toString().trim().length()<=31){Toast.makeText(MainActivity.this,"邮箱验证成功",Toast.LENGTH_SHORT).show();}else {Toast.makeText(MainActivity.this,"邮箱格式错误",Toast.LENGTH_SHORT).show();}}});}//验证函数优化版public static boolean isEmail(String email){if (null==email || "".equals(email)) return false;Matcher m = p.matcher(email);return m.matches();}}

以上就是对邮箱的验证,第一次写博客希望能共同学习,共同提高

Android-实现邮箱格式的验证相关推荐

  1. android 邮箱格式设置,Android对邮箱格式的验证

    Android-实现对邮箱的验证 由于Android开发中经常会使用到表单,还有相关的提交,验证等等.接下来是一个关于EditText的邮箱格式验证: 那么首先要有一个布局文件 相关代码: andro ...

  2. 在js中实现邮箱格式的验证

    在js中实现邮箱格式的验证 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <ht ...

  3. android qq 邮箱格式,QQ邮箱的正确格式有哪些?文件夹怎么发送呢

    QQ邮箱的正确格式有哪些?文件夹怎么发送呢?QQ邮箱格式怎么写呢?登录QQ邮箱后,如果你想给别人写信,却不知道如何写一封电子邮件,这个问题其实很简单,不过如何发送文件夹对有些用户来说,可能觉得尴尬,据 ...

  4. android qq 邮箱格式,安全邮箱我输入的是qq邮箱为什么说邮箱格式 – 手机爱问

    2005-04-01 为什么我一发邮件总是显示邮件格式不对请问 怎样写邮件 您好,首先请进入您的邮箱,点击页面左侧的"写邮件",进入写邮件页面.在寄件人后显示您的昵称和电子邮件地址 ...

  5. android qq邮箱格式,android手机怎么使用QQ邮箱 android QQ邮箱设置流程图解

    大家在使用android手机时都发现,其邮箱功能是十分强大的,实时接收邮件,并有通知提醒,像看短信似的.这样方便的邮箱功能是每个邮箱使用者的福音.但是邮箱有那么多种,android手机上默认的是使用g ...

  6. html注册邮箱格式正则表达式代码,jquery 验证Email邮箱格式的几个例子

    例1,检测邮箱格式,不合格的给出提示,并定位焦点. 代码示例: var search_str = /^[w-.]+@[w-.]+(.w+)+$/; var email_val = $("#E ...

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

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

  8. Android 使用正则表达式验证邮箱格式是否正确

    /*** 验证邮箱格式是否正确*/public boolean emailValidation(String email) {String regex = "\\w+([-+.]\\w+)* ...

  9. android 获取url中的参数,验证邮箱格式,截取字符串中键值对的值,String的字节长度,去空格,替换字符

    String ss="hello"; byte[] buff=ss.getBytes(); int f=buff.length; System.out.println(f); 字节 ...

最新文章

  1. MySQL rpm包 二进制区别_Linux环境下安装mysql5.6(二进制包不是rpm格式)
  2. 深入浅出下一代互联网基础IPFS
  3. 廉价raid_如何查找80行代码中的廉价航班
  4. Kamailio 简介
  5. 比较牛逼的答题卡扫描算法
  6. 计算机英语讲课笔记06
  7. 如何使用Windows OVERLAPPED优化你的应用
  8. S5PV210体系结构与接口07:中断系统编程
  9. Google 是如何成为巨头的?
  10. html新标准,HTML 5新标准将会在2022年正式发布
  11. C++ 异常处理(try catch throw)
  12. C#如何运行外部程序(打开可执行程序):ShellExcute和Process
  13. matlab画图函数汇总(二)
  14. Vue 从零开始搭建PC端项目完整框架(附GitHub地址和Vue项目执行流程)
  15. V-by-one 与lvds
  16. 借用 AWS 服务 CodePipeling + ECS 实现蓝绿发布 (awscli)
  17. linux C语言多线程 轻进程 LWP:Light Weight Process
  18. java 动态代理相关记录
  19. 真正的朋友与普通的朋友的区别 (转)
  20. 3d游戏建模基础教程:3D建模应用领域和四种常用建模方法

热门文章

  1. G-002 波峰焊与回流焊的区别
  2. 怎么生成自动参考文献(简单 有图)
  3. 基于AD7705的超高精度电压采集电路板 4路电压采集端口,通过前端通过AD620运算放大器输出至AD5505通过STM32F030数据处理
  4. 在没有源码的情况下修改.class文件
  5. 送快递到程序员,自学3年终于转行成功,薪资从5K涨到了12K
  6. 【Android】之 Flow 的使用和浅析
  7. vue3内置组件(Teleport组件,Fragment组件)-传送组件,减少层级
  8. 福利:阿里云免费试用劵
  9. 亚马逊测评:最前沿养号系统,如何降低成本提高效率搭建稳定的ip环境
  10. 答题微信小程序实现(4):数据库题库的调用/上一题、下一题/题量length的获取