随笔-42  评论-578  文章-1  trackbacks-0

下载地址: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 %>"/>&nbsp;&nbsp;
    
<input type="submit" value="验证"/>
</form>
</body>
</html>
 


运行结果:

 image image



本文原创,转载请注明出处,谢谢!http://www.blogjava.net/rongxh7(心梦帆影JavaEE技术博客)
    

posted on 2010-01-03 18:43 心梦帆影 阅读(2548) 评论(2)  编辑  收藏 所属分类: JavaSE

评论:
# re: 18位身份证验证小组件idchecker发布[未登录] 2010-01-04 09:38 | Jet
人才啊  回复  更多评论
  
# 371322198504233122 2011-08-06 15:29 | 刘占平
山东省临沂市郯城县港上镇四村  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: