Java正则验证

 1     /**
 2      * 验证手机号.
 3      *
 4      * @param phone the phone
 5      * @return true, if successful
 6      */
 7     public static boolean isPhone(String phone){
 8         if(StringUtils.isBlank(phone)){
 9             return false;
10         }
11         String regex = "^[1][3,4,5,8][0-9]{9}$";
12         Pattern p = Pattern.compile(regex);
13         Matcher m = p.matcher(phone);
14         return m.matches();
15     }
 1     /**
 2      * 验证身份证号是否合法(只验证18位).
 3      *
 4      * @param idCard the id card
 5      * @return true, if is id card
 6      */
 7     public static boolean isIdCard(String idCard){
 8         String regex = "(((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\\d{4}((19\\d{2}(0[13-9]|1[012])(0[1-9]|[12]\\d|30))|(19\\d{2}(0[13578]|1[02])31)|(19\\d{2}02(0[1-9]|1\\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))(\\d{3})(\\d|X|x))";
 9         int[] factorArray = new int[]{7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2};
10         String[] parityBit = new String[]{"1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"};
11         String[] idArray = new String[18];
12         int intStrLen = idCard.length();
13         String idStr = idCard;
14         int sum = 0;
15
16         //正则验证身份证格式是否正确
17         Pattern pattern = Pattern.compile(regex);
18         Matcher matcher = pattern.matcher(idCard);
19         if(!matcher.matches()){
20             return false;
21         }
22
23         //验证身份证号算法是否合法
24         for(int i = 0; i < intStrLen; i ++){
25             idArray[i] = idStr.charAt(i) + "";
26             if(i < (intStrLen - 1)){
27                 sum += factorArray[i] * Integer.parseInt(idArray[i]);
28             }
29         }
30         if(!parityBit[(sum % 11)].equalsIgnoreCase(idArray[intStrLen - 1])){
31             return false;
32         }
33         return true;
34     }
时间: 2024-12-19 13:17:15

Java正则验证的相关文章

[转帖] 分享一个java正则验证类

原址:http://blog.csdn.net/jarvis_java/article/details/5949096 package com.tool.util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * * @author Jarvis * 90%的验证都调用了Regular方法 但是本类也可删除大部分方法 涉及到正则的判断都直接穿参数和正则表达式 * 但是为了方便业务类调用和有更直观的含义 建

java邮箱正则验证

import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class test{ public static void main(String args[]){ System.out.println(test.isEmail("[email protected]")); } public static boolean isEmail(String email){

java email 正则 验证

/** * 验证邮箱合法性 * @param email 需要验证的邮箱 * @return 成功为true 失败为false */ public static boolean validationEmail(String email){ boolean flag = false; if(StringUtils.isNotBlank(email)){ Pattern pattern = Pattern.compile("^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*

Java代码使用正则验证和常用工具方法

1.正则验证邮箱 public static boolean checkEmail(String email){ boolean flag = false; try{ String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = Pattern.compile(check); Matcher matcher = r

java 安全验证方法

输入数据验证:虽然为方便用户而在客户端层上提供数据验证,但仍必须使用 Servlet 在服务器层上执行数据验证.客户端验证本身就不安全,因为这 些验证可轻易绕过,例如,通过禁用 Javascript. 一份好的设计通常需要 Web 应用程序框架,以提供服务器端实用程序例程,从而验证以下内容:[1] 必需字段[2] 字段数据类型(缺省情况下,所有 HTTP 请求参数都是"字符串")[3] 字段长度[4] 字段范围[5] 字段选项[6] 字段模式[7] cookie 值[8] HTTP 响

Java 后台验证的工具类

Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$";       //不允许为空     public static String blank = ".*[^ ].*";  

国内固定电话正则验证:&#39;tel&#39;: [/0\d{2,3}-\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/, &quot;请填写有效的电话号码&quot;],

// 验证字段 $('#info_form').validator({ rules : { checkMobile : function(ele) { return checkMobile(ele); }, 'tel': [/0\d{2,3}-\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/, "请填写有效的电话号码"], }, fields : { '#agentName' : { rule : 'required;', msg : {required : '请输入

Java正则表达中Greedy Reluctant Possessive 的区别

上一篇文章<编程思想之正则表达式 >中讲了正则表达式的原理.使用方法和常见的正则表达式总结,本文将进一步探讨Java正则表达中Greedy.Reluctant.Possessive三种策略的区别. 从Java的官方文档http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html中我们可以看到,正则表达式表示数量词的符号有三套,分别是Greedy(贪婪的).Reluctant(勉强的)和Possessive(独占的).

H5前端正则验证插件

最近学习了一个新的关于前端正则验证的插件,'jQuery.validate.js ' 要用这个插件 首先得有插件,下载jquery.validate.min.js 和jq文件并引入. 我把它简单的通俗的分为两部分 1.要验证的是谁 2.验证的提示信息 具体格式如下 $("id名").validate({ // 要验证的谁  rules:{ }, //验证提示信息 messages{ } }); 基本的格式就是这样   下边我会用代码具体的说下这个插件. 一般的情况下是用来表单的   我