Android版:验证手机号码的正则表达式
来源:互联网 发布:c语言汉化版 编辑:程序博客网 时间:2024/05/29 12:30
例子一:
- /**
- * 验证手机格式
- */
- public static boolean isMobileNO(String mobiles) {
- /*
- 移动: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
- */
- String telRegex = "[1][358]\\d{9}";//"[1]"代表第1位为数字1,"[358]"代表第二位可以为3、5、8中的一个,"\\d{9}"代表后面是可以是0~9的数字,有9位。
- if (TextUtils.isEmpty(mobiles)) return false;
- else return mobiles.matches(telRegex);
- }
匹配ISBN 号(10位或13位数字)
做个笔记:
if (checkString(editText.getText().toString())) { Toast.makeText(testRegularExpression.this, "匹配成功", Toast.LENGTH_LONG).show(); }else Toast.makeText(testRegularExpression.this, "匹配不成功", Toast.LENGTH_LONG).show(); private boolean checkString(String s) { return s.matches("^(\\d{10}|\\d{13})$"); }
顺手记一下常用的正则表达式匹配:
^[1-9]\d{3}$
^([1-9]\d{0,3})$
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]"; // 清除掉所有特殊字符 String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); return m.replaceAll("").trim(); }
1.比如,在字符串包含验证时
//查找以Java开头,任意结尾的字符串Pattern pattern = Pattern.compile("^Java.*");Matcher matcher = pattern.matcher("Java不是人");boolean b= matcher.matches();//当条件满足时,将返回true,否则返回falseSystem.out.println(b);
2.以多条件分割字符串时
Pattern pattern = Pattern.compile("[, |]+");String[] strs = pattern.split("Java Hello World Java,Hello,,World|SUN");for (int i=0;i<strs.length;i++) {System.out.println(strs[i]);}
3.文字替换(首次出现字符)
Pattern pattern = Pattern.compile("正则表达式");Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");//替换第一个符合正则的数据System.out.println(matcher.replaceFirst("Java"));
4.文字替换(全部)
Pattern pattern = Pattern.compile("正则表达式");Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World");//替换第一个符合正则的数据System.out.println(matcher.replaceAll("Java"));
5.文字替换(置换字符)
Pattern pattern = Pattern.compile("正则表达式");Matcher matcher = pattern.matcher("正则表达式 Hello World,正则表达式 Hello World ");StringBuffer sbr = new StringBuffer();while (matcher.find()) {matcher.appendReplacement(sbr, "Java");}matcher.appendTail(sbr);System.out.println(sbr.toString());
6.验证是否为邮箱地址
String str="ceponline@yahoo.com.cn";Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);Matcher matcher = pattern.matcher(str);System.out.println(matcher.matches());
7.去除html标记
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");String string = matcher.replaceAll("");System.out.println(string);
8.查找html中对应条件字符串:
Pattern pattern = Pattern.compile("href=\"(.+?)\"");Matcher matcher = pattern.matcher("<a href=\"index.html\">主页</a>");if(matcher.find())System.out.println(matcher.group(1));}
9.截取http://地址:
//截取urlPattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+");Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf");StringBuffer buffer = new StringBuffer();while(matcher.find()){ buffer.append(matcher.group()); buffer.append("\r\n"); System.out.println(buffer.toString());}
10.替换指定{}中文字:
String str = "Java目前的发展史是由{0}年-{1}年";String[][] object={new String[]{"\\{0\\}","1995"},new String[]{"\\{1\\}","2007"}};System.out.println(replace(str,object));public static String replace(final String sourceString,Object[] object) {String temp=sourceString; for(int i=0;i<object.length;i++){String[] result=(String[])object[i];Pattern pattern = Pattern.compile(result[0]);Matcher matcher = pattern.matcher(temp);temp=matcher.replaceAll(result[1]);}return temp;}
11.以正则条件查询指定目录下文件:
//用于缓存文件列表private ArrayList files = new ArrayList();//用于承载文件路径private String _path;//用于承载未合并的正则公式private String _regexp;class MyFileFilter implements FileFilter {public boolean accept(File file) {try {Pattern pattern = Pattern.compile(_regexp);Matcher match = pattern.matcher(file.getName()); return match.matches();} catch (Exception e) {return true;}}}FilesAnalyze (String path,String regexp){getFileName(path,regexp);}private void getFileName(String path,String regexp) {//目录_path=path;_regexp=regexp;File directory = new File(_path);File[] filesFile = directory.listFiles(new MyFileFilter());if (filesFile == null) return;for (int j = 0; j < filesFile.length; j++) {files.add(filesFile[j]);}return;}public void print (PrintStream out) {Iterator elements = files.iterator();while (elements.hasNext()) {File file=(File) elements.next();out.println(file.getPath()); }}public static void output(String path,String regexp) {FilesAnalyze fileGroup1 = new FilesAnalyze(path,regexp);fileGroup1.print(System.out);}public static void main (String[] args) {output("C:\\","[A-z|.]*"); String s_Result="Distance: 2.8km (about 9 mins)"; 从上面取出2.8km 与9 min//Distance parsingPattern p = Pattern.compile("Distance: (\\d+(\\.\\d+)?)(.*?)\\b");Matcher m = p.matcher(s_Result);if(m.find()){MatchResult mr=m.toMatchResult();f_Distance=mr.group(1);//2.8m_DistanceUnit=mr.group(3);//km}//Time parsingp = Pattern.compile("about (\\d+(\\.\\d+)?) (.*)\\b");m = p.matcher(s_Result);if(m.find()){MatchResult mr=m.toMatchResult();f_timeEst=mr.group(1);//9m_timeEstUnit=mr.group(3);//min}
或者
String s_Result="Distance: 2.8km (about 9 mins)";Pattern p = Pattern.compile("(\\d+(\\.\\d+)?) ?(\\w+?)\\b");Matcher m = p.matcher(s_Result);while(m.find()){MatchResult mr=m.toMatchResult();String value=mr.group(1);//2.8 and 9 come hereString units=mr.group(3);//km and mins come here}
参考文章:http://www.cnblogs.com/doll-net/archive/2006/10/31/545398.html
0 0
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android版:验证手机号码的正则表达式
- Android验证手机号码的正则表达式
- 验证手机号码的正则表达式
- 手机号码验证的正则表达式
- 验证手机号码的正则表达式
- Android版:MOB短信验证码中验证手机号码的正则表达式
- Android学习之验证手机号码的正则表达式
- Android严格验证手机号码正则表达式
- Android正则表达式,验证邮箱、手机号码等。
- 手机号码验证-正则表达式
- 手机号码验证--正则表达式
- 5.多线程学习--等待线程的终结
- 基于MFC的ActiveX控件开发
- dba_free_space中同一个file_id存在多条记录的问题
- IE9面向开发人员的ActiveX筛选
- Java 初探关于Data Structure
- Android版:验证手机号码的正则表达式
- JSON 数据解析笔记
- <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 的说明
- map: STL中map用法详解
- C语言判断文件夹或者文件是否存在的方法
- Highcharts 异步加载图表
- 最好的商业模式
- 浪潮称小型机服务器与IBM相当 正寻找并购目标
- weblogic 12C 布署的网站生成html(gb2312)乱码解决