1,验证是否为汉字

// 验证昵称
private boolean verifyNickname() {
String nickname = edt_username.getText().toString();
if (nickname == null || nickname.length() == 0) {
edt_username.setError("不能为空");
return false;
}
int len = 0;
char[] nickchar = nickname.toCharArray();
for (int i = 0; i < nickchar.length; i++) {
if (isChinese(nickchar[i])) {
len += 2;
} else {
len += 1;
}
}
if (len < 4 || len > 15) {
edt_username.setError("正确的昵称应该为\n1、4-15个字符\n2、2-7个汉字\n3、不能是邮箱和手机号");
return false;
}
return true;
} private boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
}

2,验证手机号。邮箱

// 推断是否为手机号
private boolean isPhone(String inputText) {
Pattern p = Pattern
.compile("^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$");
Matcher m = p.matcher(inputText);
return m.matches();
} // 推断格式是否为email
public boolean isEmail(String email) {
String str = "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
Pattern p = Pattern.compile(str);
Matcher m = p.matcher(email);
return m.matches();
}

3,IP地址可用port号验证,可用port号(1024-65536)

private boolean MatcherIP(String ip) {
Pattern pattern = Pattern.compile("^((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])"
+ "\\.((? !\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])"
+ "\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])"
+ "\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])"
+ ":((102[4-9])|(10[3-9]\\d)|([1-5]\\d{3,4})|(6[0-4]\\d{3})|(65[0-4]\\d{2})|(655[0-2]\\d)|(6553[0-5]))$"); Matcher matcher = pattern.matcher(ip);
return matcher.matches();
}

4,匹配/* 1234567890 */(“/*”开头,中间包括数字空格,以 “*/”结尾)

Pattern pattern = Pattern.compile("/*\\/*\\s*\\d*\\s*\\*/*");
Matcher matcher = pattern.matcher("正則表達式 /* 123 */ Hello World,正則表達式 Hello World");
//替换第一个符合正则的数据
System.out.println(matcher.replaceAll(""));

5 ,经常使用的eclipse搜索的正則表達式

1,Eclipse ctrl+f 打开查找框
2。选中 Regular expressions (正則表達式) 去掉/* */(eclipse) /\*(.|[\r\n])*?\*/
去掉//(eclipse) //.*$
去掉import(eclipse) import.*$
去掉空行(eclipse) ^\s*\n
去掉空行(ue) %[ ^t]++^p

6,视频播放进度条中时间显示

//分钟

String am = String.format("%02d", tTotal / 60);

//秒

String as = String.format("%02d", tTotal % 60);

tiempoTotal.setText(am + ":" + as);




Android中验证输入是否为汉字及手机号,邮箱验证,IP地址可用port号验证的更多相关文章

  1. Android中验证输入是否为汉字、手机号及邮箱

    1,验证是否为汉字 Code// 验证昵称 private boolean verifyNickname() { String nickname = edt_username.getText().to ...

  2. Android中TextView输入字数统计和限制

    在Android开发应用的时候,文本编辑框中最多输入140个字,经常会显示还剩多少字以限制用户输入的字数, EditText content;//定义一个文本输入框 TextView hasnum;/ ...

  3. .net验证是否合法邮箱和ip地址的方式

    通常情况下第一时间会想到使用正则表达式去验证,但由于正则表达式过于复杂或者没有考虑到某些情况,从而导致问题或者判断的效率低.下面通过另一种方式去判断. 判断是否合法邮箱: /// <summar ...

  4. IIS https绑定主机头方法 [可实现禁止直接通过IP访问及“IIS中绑定多个https(但需要多个IP地址)”]

    步骤: 打开:%systemroot%\SYSTEM32\inetsrv\config\ 打开:applicationHost.config 查找:<binding protocol=" ...

  5. 大数据学习day20-----spark03-----RDD编程实战案例(1 计算订单分类成交金额,2 将订单信息关联分类信息,并将这些数据存入Hbase中,3 使用Spark读取日志文件,根据Ip地址,查询地址对应的位置信息

    1 RDD编程实战案例一 数据样例 字段说明: 其中cid中1代表手机,2代表家具,3代表服装 1.1 计算订单分类成交金额 需求:在给定的订单数据,根据订单的分类ID进行聚合,然后管理订单分类名称, ...

  6. Android中密码输入内容可见性切换

    今天在做项目的时候遇到了一个关于密码输入框可见性切换问题,上网搜了搜,这里面门道还不小,做一个记录吧,下次遇到就好解决了. 首先写了一个简单的测试工程: <LinearLayout xmlns: ...

  7. linux系统中 redis 保存数据的5种形式 linux后端模式启动 jedis无法通过IP地址和端口号访问如何修改linux防火墙

    vim修改redis.conf配置文件(我的已经复制到虚拟机的/usr/local/redis/bin目录下)为daemonize yes, 以后端模式启动 ./redis-server redis. ...

  8. vmware中虚拟机与主机ping不通,桥接模式,IP地址在同一网段,无法互ping!

    现象描述:网卡选用的桥接模式,IP地址在同一个网段,虚拟机内部可以正常上网,但是Guest OS和Host OS无法互ping! 原因:虚拟机里的防火墙没有关闭,导致禁用ping功能. 解决方法:关闭 ...

  9. 抓包工具Fidder详解(主要来抓取Android中app的请求)

    今天闲着没吊事,来写一篇关于怎么抓取Android中的app数据包?工欲行其事,必先利其器,上网google了一下,发现了一款神器:Fiddler,这个貌似是所有软件开发者必备神器呀!这款工具不仅可以 ...

随机推荐

  1. Python 43 视图 、sql注入问题 、事务 、存储过程

    一:视图 1 视图是什么? 本质是一张虚拟的表,他的数据来自select语句 创建视图 create view test_view select *from t1; 2 有什么用? 原表安全 案例: ...

  2. Oracle备份Scott

    @echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...

  3. 书不在多,精读则灵 - Oracle入门书籍推荐

      作者:eygle |English [转载时请标明出处和作者信息]|[恩墨学院 OCM培训传DBA成功之道]链接:http://www.eygle.com/archives/2006/08/ora ...

  4. c# ado.net eftity framework 返回多表查询结果

    public static IQueryable GetWeiXinTuWenList() { using (var Model = new Model.WeiXinEntities()) { var ...

  5. DataTable如何去除重复的行

    两种方法1 数据库直接去除重复select distinct * from 表名去除了重复行distinct 2 对 DataTable直接进行操作DataTable dt=db.GetDt(&quo ...

  6. jenkins如何实现重新发布历史构建记录里的版本

    Jenkins以前打包都会将打出的拷贝放到历史版本里放到Daily_Result里,昨天不只是误操作还是系统问题,误将一个历史版本的包删掉了,而且这个包是之前比较稳定的一个版本,需要重新给客户发,所以 ...

  7. 推荐系统入门:作为Rank系统的推荐系统(协同过滤)

    知乎:如何学习推荐系统? 知乎:协同过滤和基于内容的推荐有什么区别? 案例:推荐系统实战?  数据准备:实现推荐栏位:重构接口:后续优化. 简书:实现实时推荐系统的三种方式?基于聚类和协同过滤:基于S ...

  8. Graph network classification(As a beginner, continue to update)

    Data arrangement 1.Reference Webs http://nlp.csai.tsinghua.edu.cn/~tcc/ https://blog.csdn.net/a60964 ...

  9. angular搭建

    脚手架工具:angular-cli 1. npm install -g @angular/cli 2.ng new xxx 3.cd xxx , ng serve

  10. Java基础学习笔记之:System类;Math类;Arrays类BigInteger,BigDecimal

    System类 在API中System类介绍的比较简单,我们给出定义,System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被priva ...