易截截图软件、单文件、免安装、纯绿色、仅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;
}
调用此方法即可验证身份证号码,正确率挺高的。


相关文档:

JNA实现Java调用Fortran

在成功实现Java调用C++之后,接下来想到能否通过JNA实现Java调用Fortran,今天试验了一下,还是比较容易的。
网上有一个Java调用F95的例子,但是我考虑不仅要实现F95的调用,还要实现F77的调用,所以费了一些周折。
问题的关键在于F77为过程名自动添加了一个尾部的下划线,所以sub1这个过程,到Java一端,就变成了sub1_, ......

Java模拟telnet

public static boolean telnetTest() {
boolean b=false;
Socket server = null;
try {
server = new Socket();
InetSocketAddress address = new InetSocketAddress(
"192.168.1.101", 80);
server.connect(address, 5000);
b=true;
} catch (UnknownHostException e) {
e.printSta ......

Java运算符和优先级


运算符优先级表
优先级
运算符
结合性
1
() [] .
从左到右
2
! +(正) -(负) ~ ++ --
从右向左
3
* / %
从左向右
4
+(加) -(减)
从左向右
5
<< >> >>>
从左向右
6
< <= > >= instanceof
从左向右
7
== !=
从左向右
8
&(按位与)
从左向右
9
^
从左向右 ......

复习《Thinking in Java》笔记二:第九、十章笔记

1.接口的方法默认都是public 的,方法只能是public&abstract,方法的实现不能小于接口方法的visibality.
    接口中的域默认是public static final的。
  一个类可以实现很多个接口。
2.内部类具有外围类(enclosing class)的所有元素的访问权。
3.匿名类如果希望是有一个在其外部定义的对象, ......

java Map 遍历方法

第一种:效率高
Map map = new HashMap();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
Object key = entry.getKey();
Object val = entry.getValue();
}
第二种:效率低,以后尽量少使用!
Map map = new HashMap();
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号