当前位置: 首页 > news >正文

Android 使用 PatternsCompat.EMAIL_ADDRESS 判断邮箱、IP地址、域名格式是否正确

使用 androidx.core.util.PatternsCompat.EMAIL_ADDRESS 判断 邮箱、IP地址、域名 格式是否正确.

邮箱

import androidx.core.util.PatternsCompat;private void testEmail(){Log.d(TAG , "[MainActivity] -- testEmail -- 1111 : " + PatternsCompat.EMAIL_ADDRESS.matcher("1111").matches());Log.d(TAG , "[MainActivity] -- testEmail -- dasgfsd111 : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd111").matches());Log.d(TAG  , "[MainActivity] -- testEmail -- dasgfsd111@ : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd111@").matches());Log.d(TAG  , "[MainActivity] -- testEmail -- dasgfsd111@ff : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd111@ff").matches());Log.d(TAG  , "[MainActivity] -- testEmail -- dasgfsd111@ff. : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd111@ff.").matches());Log.d(TAG  , "[MainActivity] -- testEmail -- dasgfsd111@ff.rr : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd111@ff.rr").matches());Log.d(TAG  , "[MainActivity] -- testEmail -- dasgfsd_111@ff.rr : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd_111@ff.rr").matches());Log.d(TAG  , "[MainActivity] -- testEmail -- dasgfsd-111@ff.rr : " + PatternsCompat.EMAIL_ADDRESS.matcher("dasgfsd-111@ff_.rr").matches());}

运行结果

[MainActivity] -- testEmail -- 1111 : false
[MainActivity] -- testEmail -- dasgfsd111 : false
[MainActivity] -- testEmail -- dasgfsd111@ : false
[MainActivity] -- testEmail -- dasgfsd111@ff : false
[MainActivity] -- testEmail -- dasgfsd111@ff. : false
[MainActivity] -- testEmail -- dasgfsd111@ff.rr : true
[MainActivity] -- testEmail -- dasgfsd_111@ff.rr : true
[MainActivity] -- testEmail -- dasgfsd-111@ff.rr : false

IP地址

import androidx.core.util.PatternsCompat;private void testIpAddress(){Log.d(TAG  , "[MainActivity] -- testIpAddress -- 192 : " + PatternsCompat.IP_ADDRESS.matcher("192").matches());Log.d(TAG  , "[MainActivity] -- testIpAddress -- 192.168 : " + PatternsCompat.IP_ADDRESS.matcher("192.168").matches());Log.d(TAG  , "[MainActivity] -- testIpAddress -- 192.168.1 : " + PatternsCompat.IP_ADDRESS.matcher("192.168.1").matches());Log.d(TAG  , "[MainActivity] -- testIpAddress -- 192.168.1.1 : " + PatternsCompat.IP_ADDRESS.matcher("192.168.1.1").matches());Log.d(TAG  , "[MainActivity] -- testIpAddress -- 192.168.1.1.1 : " + PatternsCompat.IP_ADDRESS.matcher("192.168.1.1.1").matches());}

运行结果

[MainActivity] -- testIpAddress -- 192 : false
[MainActivity] -- testIpAddress -- 192.168 : false
[MainActivity] -- testIpAddress -- 192.168.1 : false
[MainActivity] -- testIpAddress -- 192.168.1.1 : true
[MainActivity] -- testIpAddress -- 192.168.1.1.1 : false

域名

import androidx.core.util.PatternsCompat;private void testDomain(){Log.d(TAG  , "[MainActivity] -- testDomain -- csdn : " + PatternsCompat.DOMAIN_NAME.matcher("www.csdn.net").matches());Log.d(TAG  , "[MainActivity] -- testDomain -- bing : " + PatternsCompat.DOMAIN_NAME.matcher("www.bing.com").matches());Log.d(TAG  , "[MainActivity] -- testDomain -- baidu : " + PatternsCompat.DOMAIN_NAME.matcher("www.baidu.com").matches());Log.d(TAG  , "[MainActivity] -- testDomain -- wikipedia : " + PatternsCompat.DOMAIN_NAME.matcher("zh.wikipedia.org").matches());}

运行结果

[MainActivity] -- testDomain -- csdn : true
[MainActivity] -- testDomain -- bing : true
[MainActivity] -- testDomain -- baidu : true
[MainActivity] -- testDomain -- wikipedia : true

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于SpringBoot框架的能源管理系统源代码(100%开源无加密)
  • Linux系统之部署轻量级Markdown文本编辑器
  • 来了...腾讯内推的软件测试面试PDF 文档(共107页)
  • AOP实现日志记录需求
  • 【Python】 Python Schedule 模块:轻量级的定时任务调度库
  • docker 镜像站
  • Qt QLabel标签制作弹框效果,3s后缓慢自动消失
  • 如何在桌面同时展示多个窗口
  • Error hdl vendor backen is missing
  • 蒟蒻的尊严被打得一败涂地17
  • nginx基础配置
  • HTTP?HTTPS?HTTP2.0
  • 【GitHub】github clone远程仓库的时候一直失败
  • 【xilinx】O-RAN 无线电接口 - Vivado 2020.1 及更新工具版本的发行说明
  • fetch跨域请求数据的前端设置和后端php的header设置
  • Android Volley源码解析
  • ComponentOne 2017 V2版本正式发布
  • CSS 专业技巧
  • Java超时控制的实现
  • js 实现textarea输入字数提示
  • k8s 面向应用开发者的基础命令
  • Otto开发初探——微服务依赖管理新利器
  • PHP 小技巧
  • Python3爬取英雄联盟英雄皮肤大图
  • Python十分钟制作属于你自己的个性logo
  • ReactNative开发常用的三方模块
  • Redis的resp协议
  • SegmentFault 2015 Top Rank
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Webpack 4x 之路 ( 四 )
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 深入浅出webpack学习(1)--核心概念
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 再次简单明了总结flex布局,一看就懂...
  • 函数计算新功能-----支持C#函数
  • 回归生活:清理微信公众号
  • ###C语言程序设计-----C语言学习(6)#
  • #07【面试问题整理】嵌入式软件工程师
  • #1014 : Trie树
  • #APPINVENTOR学习记录
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (javascript)再说document.body.scrollTop的使用问题
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (三)mysql_MYSQL(三)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)JAVA中的堆栈
  • (转)Sql Server 保留几位小数的两种做法
  • .apk文件,IIS不支持下载解决
  • .htaccess配置重写url引擎
  • .net 8 发布了,试下微软最近强推的MAUI