校验总结:校验是否是中英文等等(1.正则校验 2.hibernate volidator)

1.正则校验

import java.util.regex.Matcher;import java.util.regex.Pattern;

public class Validation {    //------------------常量定义    /**     * Email正则表达式="^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";     */    //public static final String EMAIL = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";;    public static final String EMAIL = "\\w+(\\.\\w+)*@\\w+(\\.\\w+)+";    /**     * 电话号码正则表达式=     String regex = "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$";     */    public static final String PHONE =  "^((13[0-9])|(14[5,7,9])|(15([0-3]|[5-9]))|(17[0,1,3,5,6,7,8])|(18[0-9])|(19[8|9]))\\d{8}$";    /**     * 手机号码正则表达式=^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$     */    public static final String MOBILE ="^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\\d{8}$";

/**     * 校验手机号格式不校验正确性^1[0-9]{10}$    */    public static final String MobileByFormat= "^1[0-9]{10}$";    /**     * Integer正则表达式 ^-?(([1-9]\d*$)|0)     */    public static final String  INTEGER = "^-?(([1-9]\\d*$)|0)";    /**     * 正整数正则表达式 >=0 ^[1-9]\d*|0$     */    public static final String  INTEGER_NEGATIVE = "^[1-9]\\d*|0$";    /**     * 负整数正则表达式 <=0 ^-[1-9]\d*|0$     */    public static final String  INTEGER_POSITIVE = "^-[1-9]\\d*|0$";    /**     * Double正则表达式 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$     */    public static final String  DOUBLE ="^-?([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0)$";    /**     * 正Double正则表达式 >=0  ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$      */    public static final String  DOUBLE_NEGATIVE ="^[1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*|0?\\.0+|0$";    /**     * 负Double正则表达式 <= 0  ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$     */    public static final String  DOUBLE_POSITIVE ="^(-([1-9]\\d*\\.\\d*|0\\.\\d*[1-9]\\d*))|0?\\.0+|0$";    /**     * 年龄正则表达式 ^(?:[1-9][0-9]?|1[01][0-9]|120)$ 匹配0-120岁     */    public static final String  AGE="^(?:[1-9][0-9]?|1[01][0-9]|120)$";    /**     * 邮编正则表达式  [0-9]\d{5}(?!\d) 国内6位邮编     */    public static final String  CODE="[0-9]\\d{5}(?!\\d)";    /**     * 匹配由数字、26个英文字母或者下划线组成的字符串 ^\w+$     */    public static final String STR_ENG_NUM_="^\\w+$";    /**     * 匹配由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$     */    public static final String STR_ENG_NUM="^[A-Za-z0-9]+";    /**     * 匹配由26个英文字母组成的字符串  ^[A-Za-z]+$     */    public static final String STR_ENG="^[A-Za-z]+$";    /**     * 过滤特殊字符串正则     * regEx="[`[email protected]#$%^&*()+=|{}‘:;‘,\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";     */    public static final String STR_SPECIAL="[`[email protected]#$%^&*()+=|{}‘:;‘,\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";    /***     * 日期正则 支持:     *  YYYY-MM-DD     *  YYYY/MM/DD     *  YYYY_MM_DD     *  YYYYMMDD     *  YYYY.MM.DD的形式     */    public static final String DATE_ALL="((^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(10|12|0?[13578])([-\\/\\._]?)(3[01]|[12][0-9]|0?[1-9])$)" +            "|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(11|0?[469])([-\\/\\._]?)(30|[12][0-9]|0?[1-9])$)" +            "|(^((1[8-9]\\d{2})|([2-9]\\d{3}))([-\\/\\._]?)(0?2)([-\\/\\._]?)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([3579][26]00)" +            "([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)" +            "|(^([1][89][0][48])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([2-9][0-9][0][48])([-\\/\\._]?)" +            "(0?2)([-\\/\\._]?)(29)$)" +            "|(^([1][89][2468][048])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|(^([2-9][0-9][2468][048])([-\\/\\._]?)(0?2)" +            "([-\\/\\._]?)(29)$)|(^([1][89][13579][26])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$)|" +            "(^([2-9][0-9][13579][26])([-\\/\\._]?)(0?2)([-\\/\\._]?)(29)$))";    /***     * 日期正则 支持:     *  YYYY-MM-DD     */    public static final String DATE_FORMAT1="(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)";

/**     * URL正则表达式     * 匹配 http www ftp     */    public static final String URL = "^(http|www|ftp|)?(://)?(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*((:\\d+)?)(/(\\w+(-\\w+)*))*(\\.?(\\w)*)(\\?)?" +            "(((\\w*%)*(\\w*\\?)*(\\w*:)*(\\w*\\+)*(\\w*\\.)*(\\w*&)*(\\w*-)*(\\w*=)*(\\w*%)*(\\w*\\?)*" +            "(\\w*:)*(\\w*\\+)*(\\w*\\.)*" +            "(\\w*&)*(\\w*-)*(\\w*=)*)*(\\w*)*)$";

/**     * 身份证正则表达式     */    public static final String IDCARD="((11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)[0-9]{4})" +            "(([1|2][0-9]{3}[0|1][0-9][0-3][0-9][0-9]{3}" +            "[Xx0-9])|([0-9]{2}[0|1][0-9][0-3][0-9][0-9]{3}))";

/**     * 机构代码     */    public static final String JIGOU_CODE = "^[A-Z0-9]{8}-[A-Z0-9]$";

/**     * 匹配数字组成的字符串  ^[0-9]+$     */    public static final String STR_NUM = "^[0-9]+$";

//匹配中英文    public static final String ZH_ENG = "^[a-zA-Z\\u4e00-\\u9fa5]+$";

//  //------------------验证方法    /**     * 判断字段是否为空 符合返回ture     * @param str     * @return boolean     */    public static synchronized boolean StrisNull(String str) {        return null == str || str.trim().length() <= 0 ? true : false ;    }    /**     * 判断字段是非空 符合返回ture     * @param str     * @return boolean     */    public static  boolean StrNotNull(String str) {        return !StrisNull(str) ;    }    /**     * 字符串null转空     * @param str     * @return boolean     */    public static  String nulltoStr(String str) {        return StrisNull(str)?"":str;    }    /**     * 字符串null赋值默认值     * @param str    目标字符串     * @param defaut 默认值     * @return String     */    public static  String nulltoStr(String str,String defaut) {        return StrisNull(str)?defaut:str;    }    /**     * 判断字段是否为Email 符合返回ture     * @param str     * @return boolean     */    public static  boolean isEmail(String str) {        return Regular(str,EMAIL);    }    /**     * 判断是否为电话号码 符合返回ture     * @param str     * @return boolean     */    public static  boolean isPhone(String str) {        return Regular(str,PHONE);    }    /**     * 判断是否为手机号码 符合返回ture     * @param str     * @return boolean     */    public static  boolean isMobile(String str) {        return Regular(str,MOBILE);    }    /**     * 判断是否为手机号码格式不校验正确性 符合返回ture     * @param str     * @return boolean     */    public static  boolean isMobileByFormat(String str) {        return Regular(str,MobileByFormat);    }    /**     * 判断是否为Url 符合返回ture     * @param str     * @return boolean     */    public static  boolean isUrl(String str) {        return Regular(str,URL);    }    /**     * 判断字段是否为数字 正负整数 正负浮点数 符合返回ture     * @param str     * @return boolean     */    public static  boolean isNumber(String str) {        return Regular(str,DOUBLE);    }    /**     * 判断字段是否为INTEGER  符合返回ture     * @param str     * @return boolean     */    public static  boolean isInteger(String str) {        return Regular(str,INTEGER);    }    /**     * 判断字段是否为正整数正则表达式 >=0 符合返回ture     * @param str     * @return boolean     */    public static  boolean isINTEGER_NEGATIVE(String str) {        return Regular(str,INTEGER_NEGATIVE);    }    /**     * 判断字段是否为负整数正则表达式 <=0 符合返回ture     * @param str     * @return boolean     */    public static  boolean isINTEGER_POSITIVE(String str) {        return Regular(str,INTEGER_POSITIVE);    }    /**     * 判断字段是否为DOUBLE 符合返回ture     * @param str     * @return boolean     */    public static  boolean isDouble(String str) {        return Regular(str,DOUBLE);    }    /**     * 判断字段是否为正浮点数正则表达式 >=0 符合返回ture     * @param str     * @return boolean     */    public static  boolean isDOUBLE_NEGATIVE(String str) {        return Regular(str,DOUBLE_NEGATIVE);    }    /**     * 判断字段是否为负浮点数正则表达式 <=0 符合返回ture     * @param str     * @return boolean     */    public static  boolean isDOUBLE_POSITIVE(String str) {        return Regular(str,DOUBLE_POSITIVE);    }    /**     * 判断字段是否为日期 符合返回ture     * @param str     * @return boolean     */    public static  boolean isDate(String str) {        return Regular(str,DATE_ALL);    }    /**     * 验证2010-12-10     * @param str     * @return     */    public static  boolean isDate1(String str) {        return Regular(str,DATE_FORMAT1);    }    /**     * 判断字段是否为年龄 符合返回ture     * @param str     * @return boolean     */    public static  boolean isAge(String str) {        return Regular(str,AGE) ;    }    /**     * 判断字段是否超长     * 字串为空返回fasle, 超过长度{leng}返回ture 反之返回false     * @param str     * @param leng     * @return boolean     */    public static  boolean isLengOut(String str,int leng) {        return StrisNull(str)?false:str.trim().length() > leng ;    }    /**     * 判断字段是否为身份证 符合返回ture     * @param str     * @return boolean     */    public static  boolean isIdCard(String str) {        if(StrisNull(str)) return false ;        if(str.trim().length() == 15 || str.trim().length() == 18) {            return Regular(str,IDCARD);        }else {            return false ;        }

}    /**     * 判断字段是否为邮编 符合返回ture     * @param str     * @return boolean     */    public static  boolean isCode(String str) {        return Regular(str,CODE) ;    }    /**     * 判断字符串是不是全部是英文字母     * @param str     * @return boolean     */    public static boolean isEnglish(String str) {        return Regular(str,STR_ENG) ;    }    /**     * 判断字符串是不是全部是英文字母+数字     * @param str     * @return boolean     */    public static boolean isENG_NUM(String str) {        return Regular(str,STR_ENG_NUM) ;    }    /**     * 判断字符串是不是全部是英文字母+数字+下划线     * @param str     * @return boolean     */    public static boolean isENG_NUM_(String str) {        return Regular(str,STR_ENG_NUM_) ;    }    /**     * 过滤特殊字符串 返回过滤后的字符串     * @param str     * @return boolean     */    public static  String filterStr(String str) {        Pattern p = Pattern.compile(STR_SPECIAL);        Matcher m = p.matcher(str);        return   m.replaceAll("").trim();    }

/**     * 校验机构代码格式     * @return     */    public static boolean isJigouCode(String str){        return Regular(str,JIGOU_CODE) ;    }

/**     * 判断字符串是不是数字组成     * @param str     * @return boolean     */    public static boolean isSTR_NUM(String str) {        return Regular(str,STR_NUM) ;    }

/**     * 匹配是否符合正则表达式pattern 匹配返回true     * @param str 匹配的字符串     * @param pattern 匹配模式     * @return boolean     */    private static  boolean Regular(String str,String pattern){        if(null == str || str.trim().length()<=0)            return false;        Pattern p = Pattern.compile(pattern);        Matcher m = p.matcher(str);        return m.matches();    }

public static boolean isZhongEng(String str){        return Regular(str, ZH_ENG);    }

public static void main(String[] args) {        boolean mobileByFormat = isMobileByFormat("19011188161");    }}=============================================================================================================================

//Controller代码如下:  校验为true说明通过校验. 取反报错
if(!Validation.isInteger(page+"")){     return AjaxResultUtil.fail("page必须是数字");}    if(!Validation.isInteger(rows+"")){    return AjaxResultUtil.fail("rows必须是数字");}


原文地址:https://www.cnblogs.com/fan3516/p/10069316.html

时间: 2024-07-28 23:29:46

校验总结:校验是否是中英文等等(1.正则校验 2.hibernate volidator)的相关文章

RegExp正则校验之Java及R测试

前言: 正则表达式(英语:Regular Expression)原属于计算机科学的一个概念.正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里边,正则表达式通常被用来检索.替换那些符合某个模式的文本.许多程序设计语言都支持利用正则表达式进行字符串操作.例如,Perl,Shell,R,Java等等. 因本人最近刚好在学习R语言进行网页数据抓取,觉得有必要对正则表达式做个小总结,于是便有了此文. 1.重要元字符及其简短描述 元字符 描述 \ 将下一个字符标记为一个

iOS开发实用技巧—身份证的正则校验

iOS开发实用技巧—身份证的正则校验 说明: 在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013年1月1号起停止使用15位的身份证,网上的身份证校验普遍支持15位的号码. 在开发过程中,进行类似处理的时候,还是需要一些甄别的能力的,当然也要考虑自己的项目的实际情况.该文贴出了最近项目中使用到得身份证校验代码,以方便有需要的人“谨慎”获取. 一.规则

地图经纬度正则校验

主要是针对江苏省之内的经纬度进行校验,已经过测试 1.经度正则为:/^1[1-2][0-9]\.\d{6,12}$/ 2.纬度正则为:/^((3[0-6])|(2[8-9]))\.\d{6,12}$/ 3.多边形边界经纬度校验(格式:xxx.xxxxxx,xx.xxxxxx;xxx.xxxxxx,xx.xxxxxx;xxx.xxxxxx,xx.xxxxxx;....xxx.xxxxxx,xx.xxxxxx),如下: 正则为:/^(1[1-2][0-9]\.\d{6,12},((3[0-6])|(

iOS—身份证的正则校验

iOS—身份证的正则校验 说明: 在ios项目的开发中可能很多地方都需要用到身份证校验,一般在开发的时候很多人都是直接百度去网上荡相关的正则表达式和校验代码,但是网上疯狂 粘贴复制的校验代码本身也可能并不准确,可能会有风险,比如2013年1月1号起停止使用15位的身份证,网上的身份证校验普遍支持15位的号码. 在开发过程中,进行类似处理的时候,还是需要一些甄别的能力的,当然也要考虑自己的项目的实际情况.该文贴出了最近项目中使用到得身份证校验代码,以方便有需要的人“谨慎”获取. 一.规则 下面是i

C# 正则校验

1.字符串为小写字母: string pattern = @"^[a-z]*$"; if(System.Text.RegularExpressions.Regex.IsMatch("校验字符串", pattern)){ "校验通过"; } 2.字符串为汉字 if (Regex.IsMatch("校验字符串", @"^[\u4e00-\u9fa5]+$")) { "校验通过"; } 3.字

js电话号码正则校验--座机和手机号

1.最新的电话号码段: 移动:134(1349除外)135 136 137 138 139 147 150 151 152 157 158 159 182 183 184 187 188 联通: 130 131 132 155 156 185 186 145 电信:133 153 177 180 181 189 2.电话号码正则: 固话:([0-9]{3,4}-)?[0-9]{7,8} 手机:^((\+?86)|(\(\+86\)))?(13[012356789][0-9]{8}|15[0123

Javascript 正则校验身份证

1 var vcity={ 11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古", 2 21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏", 3 33:"浙江",34:"安徽",35:"福建"

身份证号正则校验(js校验+JAVA校验)

js校验身份证号[15位和18位] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 8

Html表单的正则校验--将不符合指定正则表达式的字符串自动替换为空

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <title>checkNum.html</title> 5 <meta http-equiv="content-type" content="text/html; charset=UTF-8"> 6 7