易截截图软件、单文件、免安装、纯绿色、仅160KB

Java 身份证验证

这是一个没有验证行政区代码的,所以这个不算完全,但是我们在做实际应用时可以加上,这里我没加。
源码如下仅供参考.
package ibees.validator;
import java.util.regex.Pattern;
/**
* 常用的验证,source charset utf-8
*
* @author hhzxj2008
* */
public class CommonValidator {
public static boolean validatePersonalId(String personalId) {
if ((personalId == null) || ((personalId.length() != 15) &&
(personalId.length() != 18))) {
return false;
}
int personalIdLength = personalId.length();
String regex = "[1-8]{1}[0-9]{" + (personalIdLength-2) + "}[0-9X]";
Pattern pattern = Pattern.compile(regex);
if (!pattern.matcher(personalId).matches()) {
return false;
}
// 将老身份证转换为新身份证
if (personalIdLength == 15) {
StringBuffer stringBuffer = new StringBuffer(personalId);
stringBuffer.insert(6, "19");
personalId = stringBuffer.toString();
}
// 规则
byte[] poss = { 2, 4, 8, 5, 10, 9, 7, 3, 6, 1, 2, 4, 8, 5, 10, 9, 7 };
char[] possibleLast = { '1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2' };
int last = 0;
int[] pid = new int[18];
for (int i = 1; i < 18; i++){
int j = 17 - i;
pid[i - 1] = Integer.parseInt(personalId.substring(j, j + 1));
}
for (int i = 0; i < 17; i++){
last += poss[i] * pid[i];
}
last = last % 11;
if(possibleLast[last] == personalId.charAt(17)){
return true;
}
return false;
}
调用此方法即可验证身份证号码,正确率挺高的。


相关文档:

Java中集合容器类List和Set的用法

List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1  List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......

传智播客JAVA培训 中科软件公司的招聘


   昨天下午2点中科软件公司来到传智博客招聘,招6个人左右。
   2点多一点的时候来了一个中年人,发了一套试卷给我们,是用英语的,这对我刚刚过四级的来说相当吃力啊,内容基本上都是se部分的,搞了小半年的javaee了,忽然来个se部分的,心里还真没底。
   很容易做的做完就忘了,只有 ......

传智播客JAVA培训 Android书籍分享


在这里将我收集的一些书籍,与大家分享
1、介绍Android 与 GPhone的书籍
Introduction To Android
Google官方文档,简要的介绍了Android的各个方面,值得大家看下
GPhone说明书
是每个开发人员必须阅读的,关于GPhone的使用、功能,结合SDK看想必收获会更大
2、经典开发书籍
深入浅出Android–Google手持设备 ......

我的Java验证工具类

package com;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
public class RegexUtil {
private static Pattern PATTERN_EMAIL = Pattern
.compile("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$");// 邮件地址
private static Pattern PATTERN_TEL = Pattern
.compi ......

用Java测试Windows命令提示符参数格式,及引号的用法

使用下面简单的Java程序测试命令行参数格式。
public class Test {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println(args[i].length() + ":" + args[i]);
}
}
}

编译后打开cmd命令提示符输入如下命令并查看结果:
java Test a aa ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号