/**
* 该方法用于判断18位身份证号是否合法,依据:通过最后一位生成算法,计算最后一位的值,与原值比较。
*
* @param id18
* 长度为18的身份证号
* @return 合法返回true
*/
public boolean isId18Legal(String id18) {
boolean result = false;
if (id18 != null && id18.matches("^[0-9,X,x]*$")
&& (id18.length() == 18)) {
int tmpint = (Integer.parseInt(id18.substring(0, 1)) + Integer
.parseInt(id18.substring(10, 11)))
* 7
+ (Integer.parseInt(id18.substring(1, 2)) + Integer
.parseInt(id18.substring(11, 12)))
* 9
+ (Integer.parseInt(id18.substring(2, 3)) + Integer
.parseInt(id18.substring(12, 13)))
* 10
+ (Integer.parseInt(id18.substring(3, 4)) + Integer
.parseInt(id18.substring(13, 14)))
* 5
+ (Integer.parseInt(id18.substring(4, 5)) + Integer
.parseInt(id18.substring(14, 15)))
* 8
+ (Integer.parseIn
校验18位身份证号是否是有效的身份证号
最新推荐文章于 2021-07-22 09:41:58 发布