下载地址: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 + " | ");
}
}
}
运行结果:
出生年月日 : 1986年07月10日
性别 :男
居民地址 : 广东省广州市天河区
身份证号码是否合法 : 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>
运行结果:
本文原创,转载请注明出处,谢谢!http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)
posted on 2010-01-03 18:43
心梦帆影 阅读(2740)
评论(2) 编辑 收藏 所属分类:
JavaSE