首页 > 学习园地 > 网络工程 >
  • 咨询13623339719方便接听。
  • 最新开课:10月29日,需提前报名排座!
  • 学校注重软件与实践结合学习,非单纯软件学习!
  • 咨询电话:0315-2841743 13623339719

唐山短期速成培训之JAVA表单验证

2012-08-01 17:33:10 唐山JAVA培训学校 电话:0315-2841743 QQ:123190168 点击:
分享到:
更多

<FONT color=black>package com.ruijian.meilin.util;


import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


/**
*
* @author : baker(QQ:294309612)
* @version : 1.00
* Create Time : 2011-2-22-下午04:31:36
* Description :
* 内容校验类
*/
public class ValidateUtil implements Serializable{
private static final long serialVersionUID = 1L;

/**
* 默认编码格式
*/
private static final String DEFAULT_ENCODING = "UTF-8";

/**
* Function : 检查字符串的格式
* @param str : 被检查的字符串
* @param isCN : 允许有中文
* @param isNum : 允许有数字
* @param isLetter : 允许有字母
* @param specialChars : 允许有特殊字符,输入方式:假设允许下划线则参数为,"_" 假如允许下划线和问号则参数为,"_","?"
* example : 字母、数字、问号、句号和感叹号组成的字符串:isRealChar("xxxx",false,true,true,"?","。","!")
* @return 匹配则返回true,不匹配返回false
*/
public static boolean isRealChar(String str,boolean isCN,boolean isNum,boolean isLetter,String... specialChars){
String regex_start = "^[";
String regex_end = "]+$";

if(isCN == true){
regex_start = regex_start + "|\u4e00-\u9fa5";
}if(isNum == true){
regex_start = regex_start + "|0-9";
}if(isLetter == true){
regex_start = regex_start + "|a-zA-Z";
}if(specialChars != null){
for(int i = 0;i<specialChars.length;i++){
regex_start = regex_start +"|"+specialChars[i];
}
}
return match(regex_start+regex_end,str);
}

 

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午04:37:22
* Description : 验证邮箱的有效性
* 成功匹配则返回true
* 不匹配则返回false
*/
public static boolean isEmail(String str)
{
//return str.matches("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+") ;
String regex = "^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
return match(regex, str);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午04:38:38
* Description :验证IP地址
* 匹配返回true
* 不匹配返回false
*/
public static boolean isIP(String str)
{
String num = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";
String regex = "^" + num + "\\." + num + "\\." + num + "\\." + num + "$";
return match(regex, str);
}

/**
*
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午04:47:59
* Description : 校验网址(规则:以http://或https://开头)
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isUrl(String str)
{
String regex = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
return match(regex, str);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午04:49:46
* Description :验证是否是固定电话(规则:xxxx(区号,3或4位)-(连接线,必备)xxxxxx(电话,6到8位),如028-83035137)
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isTelephone(String str)
{
String regex = "^(\\d{3,4}-)?\\d{6,8}$";
return match(regex, str);
}

/**
* @param value
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午04:51:00
* Description : 验证是否是手机号(规则:以1开头,接任意数字,11位)
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isMobilePhone(String value)
{
//String regex = "^[1]+[3,5]+\\d{9}$";
String regex = "^[1]+\\d{10}";
return value.matches(regex);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:01:02
* Description :邮编地址
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isPostalcode(String str)
{
String regex = "^\\d{6}$";
return match(regex, str);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:03:46
* Description :验证15位或18位身份证号
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isIDcard(String str)
{
String regex = "(^\\d{18}$)|(^\\d{15}$)";
return match(regex, str);
}

/**
* @param str 被验证数据
* @param digit 验证长度:小数点后几位
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:12:03
* Description : 验证是否符合指定位数的小数
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isDecimal(String str,int digit)
{
String regex = "^[0-9]+(.[0-9]{"+digit+"})?$";
return match(regex, str);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:18:49
* Description :验证是否是1~12月
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isMonth(String str)
{
String regex = "^(0?[1-9]|1[0-2])$";
return match(regex, str);
}

// /**
// * @param str : 实际日期
// * @param format :日期格式,如yyyy-MM-dd
// * @return
// * @throws ParseException
// * about version :1.00
// * create time : 2011-2-22-下午05:46:37
// * Description : 判断是否是指定日期格式
// * 匹配则返回true
// * 不匹配则返回false
// */
// public static boolean isDateFormat(String str, String format){
// if (GenericValidator.isBlankOrNull(str) || GenericValidator.isBlankOrNull(format)) {
// return false;
// }
// SimpleDateFormat sdf = new SimpleDateFormat(format);
// sdf.setLenient(true);
//
// Date date;
// try {
// date = sdf.parse(str);
// } catch (ParseException e) {
// return false;
// }
// String str2 = sdf.format(date);
//
// if (!str.equals(str2)) {
// return false;
// }else{
// return true;
// }
// }

/**
* @param str
* @param sign : 三种"+","-","all",分别表示正数、负数、正负都行,默认全部
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:31:02
* Description :校验正负整数
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isIntNumber(String str,String sign)
{
String regex = "";
if("+".equals(sign)){
regex = "^[+]?[0-9]*$";
}else if("-".equals(sign)){
regex = "^[-][0-9]*$";
}else{
regex = "^[+-]?[0-9]*$";
}
return match(regex, str);
}


/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:38:38
* Description :验证大写字母
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isUpChar(String str)
{
String regex = "^[A-Z]+$";
return match(regex, str);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:39:14
* Description : 验证小写字母
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isLowChar(String str)
{
String regex = "^[a-z]+$";
return match(regex, str);
}

/**
* @param str
* @return
* author : baker(QQ:294309612)
* about version :1.00
* create time : 2011-2-22-下午05:39:57
* Description :验证输入的是字母
* 匹配则返回true
* 不匹配则返回false
*/
public static boolean isLetter(String str)
{
String regex = "^[A-Za-z]+$";
return match(regex, str);
}

/**
* @param str
* @param encoding : 编码格式,如GBK, 不输入默认为UTF-8
* @return :返回指定编码格式下字符串的长度
* about version :1.00
* create time : 2011-2-22-下午05:54:16
* Description :选择不同编码,返回字符串长度
*/
public static int checkLength(String str,String encoding) {
int length;
try {
if(encoding == null||"".equals(encoding)){
length = str.getBytes(DEFAULT_ENCODING).length;
}else{
length = str.getBytes(encoding).length;
}
} catch (UnsupportedEncodingException e) {
length = str.getBytes().length;
}
return length;
}

 


/**
* @param regex
* @param str
* @return
* about version :1.00
* create time : 2011-2-22-下午04:41:57
* Description : 正则表达式验证方法
* 匹配表达式则返回true
* 不匹配则返回false
*/
private static boolean match(String regex, String str)
{
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
return matcher.matches();
}
}
</FONT> 

分享到:
更多

上一篇:唐山短期速成培训之JAVA内存管理   下一篇:唐山网络工程培训之PHP二级导航教程

我要报名
  • 姓    名:    拟报课程:
  • 住址摘要:
  • QQ  号码:    电话号码:
  • 电话咨询
  • 0315-2841743 [8:00 - 20:00]
  • 短信咨询
  • 13623339719 [8:00 - 20:00]
学校地址:河北唐山市建设路82号(建设路与煤医道交叉口西南角临街) 乘车路线:市内乘7、61、114、35、26、36、16、77、41、28、27等煤医道口下车 自驾有停车场
招生热线:0315-2841743(8:00-20:00)13373059616(休息时间) 邮箱:123190168@qq.com 咨询QQ:123190168(报名咨询QQ) 99558356(装饰工程QQ)
版权所有:唐山电脑培训学校(恒升煤医校区)
声明:未经书面许可,擅自复制、转载、刊登者追究其法律责任!(律师海国志) 支持:济南网络建设