下载地址:http://codeshop.googlecode.com/files/idchecker.zip
提供给外部调用的cn.idchecker.check.Checker类的相关方法如下表:
方法 | 方法作用 | 参数及返回值 |
Checker(String num) | 构造方法 | 参数num为18位身份证号码的字符串 |
boolean checkLength() | 验证身份证长度是否正确 | 长度为18,则返回true,否则返回false |
boolean checkBirth() | 验证出生生日码是否合法 | 合法则返回true,否则返回false |
boolean checkAddr() | 验证地址码是否存在 | 存在则返回true,否则返回false |
boolean checkCheckCode() | 计算校验码是否正确 | 正确则返回true,否则返回false |
boolean check() | 总的身份证验证,验证顺序:长度 -> 生日 -> 最后一位校验码 -> 地址 | 若遇到有一项目不合法即返回false,所有验证通过才返回true。验证后,可通过调用getErrorMsg()方法获取错误信息 |
boolean checkAll() | 总的身份证验证,验证项目包括长度、地址、生日、最后一位校验码 | 身份证合法则返回true,否则false。验证后,可调用getErrorMsgs()方法获取错误信息集合 |
String getBirth() | 获取出生年月日 | 返回“2010年01月12日”格式的生日字符串通串 |
String getAddr() | 获取公民籍贯 | 返回籍贯字符串("xx省xx市xx县”) |
String getSex() | 获取性别 | 返回“男”或“女” |
String getErrorMsg() | 获取错误信息 | 返回错误信息字符串 |
public Set<String> getErrorMsgs() | 获取错误信息集合 | 返回错误信息集合 |
用法举例 1 :解压缩“idchecker.zip”,将其目录下的“idchecker.jar” 包引进Java Project中,以下是测试程序:
public
class
TestChecker {
public static void main(String[] args) {
Checker checker = new Checker( " 44010619860710145X " );
System.out.println( " 出生年月日 : " + checker.getBirth());
System.out.println( " 性别 : " + checker.getSex());
System.out.println( " 居民地址 : " + checker.getAddr());
System.out.println( " 身份证号码是否合法 : " + checker.check() + " " + checker.getErrorMsg());
checker.checkAll();
for (String msg : checker.getErrorMsgs()) {
System.out.print(msg + " | " );
}
}
}
public static void main(String[] args) {
Checker checker = new Checker( " 44010619860710145X " );
System.out.println( " 出生年月日 : " + checker.getBirth());
System.out.println( " 性别 : " + checker.getSex());
System.out.println( " 居民地址 : " + checker.getAddr());
System.out.println( " 身份证号码是否合法 : " + checker.check() + " " + checker.getErrorMsg());
checker.checkAll();
for (String msg : checker.getErrorMsgs()) {
System.out.print(msg + " | " );
}
}
}
运行结果:
出生年月日 : 1986年07月10日
性别 :男
居民地址 : 广东省广州市天河区
身份证号码是否合法 : true
性别 :男
居民地址 : 广东省广州市天河区
身份证号码是否合法 : true
用法举例 2 :将“idchecker.jar” 包引进到Web Project的lib目录下,以下是测试程序:
<?
xml version="1.0" encoding="UTF-8"
?>
<% @ page language = " java " contentType = " text/html; charset=UTF-8 "
pageEncoding = " UTF-8 " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" />
< title > 测试idchecker组件 </ title >
</ head >
< body >
< h1 > 身份证验证 </ h1 >
<%
String id = request.getParameter( " ID " );
if (id ! = null && ! "" .equals(id.trim())){
cn.idchecker.check.Checker checker = new cn.idchecker.check.Checker(id);
if (checker.check()) {
out.print(checker.getSex() + " <br/> " );
out.print(checker.getBirth() + " <br/> " );
out.print(checker.getAddr());
} else {
out.print( " 身份证不合法! " + " <br/> " );
out.print(checker.getErrorMsg());
}
}
%>
< form action ="input.jsp" method ="post" >
身份证号码 : < input name ="ID" type ="text" value ="<%=id %>" />
< input type ="submit" value ="验证" />
</ form >
</ body >
</ html >
<% @ page language = " java " contentType = " text/html; charset=UTF-8 "
pageEncoding = " UTF-8 " %>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv ="Content-Type" content ="text/html; charset=UTF-8" />
< title > 测试idchecker组件 </ title >
</ head >
< body >
< h1 > 身份证验证 </ h1 >
<%
String id = request.getParameter( " ID " );
if (id ! = null && ! "" .equals(id.trim())){
cn.idchecker.check.Checker checker = new cn.idchecker.check.Checker(id);
if (checker.check()) {
out.print(checker.getSex() + " <br/> " );
out.print(checker.getBirth() + " <br/> " );
out.print(checker.getAddr());
} else {
out.print( " 身份证不合法! " + " <br/> " );
out.print(checker.getErrorMsg());
}
}
%>
< form action ="input.jsp" method ="post" >
身份证号码 : < input name ="ID" type ="text" value ="<%=id %>" />
< input type ="submit" value ="验证" />
</ form >
</ body >
</ html >
运行结果: