18位身份证验证小组件idchecker发布

来源:互联网 发布:飘谁翻译的最好 知乎 编辑:程序博客网 时间:2024/04/28 19:07

下载地址:http://codeshop.googlecode.com/files/idchecker.zip

提供给外部调用的cn.idchecker.check.Checker类的相关方法如下表:

方法方法作用参数及返回值Checker(String num)构造方法参数num为18位身份证号码的字符串boolean checkLength()验证身份证长度是否正确长度为18,则返回true,否则返回falseboolean checkBirth()验证出生生日码是否合法合法则返回true,否则返回falseboolean checkAddr()验证地址码是否存在存在则返回true,否则返回falseboolean checkCheckCode()计算校验码是否正确正确则返回true,否则返回falseboolean 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

原创粉丝点击