中国居民18位身份证号验证方法,Java算法实现
2018-01-03 20:01
309 查看
public static boolean validate18Idcard(String idcard){ if(idcard == null ) { return false; } if(idcard.length()!=18) { return false; } char [] id =idcard.toCharArray(); int i, sum, n; for (sum = i = 0; i < 17; i++){ sum += ((1 << (17 - i)) % 11) * (id[i] - '0'); } n = (12 - (sum % 11)) % 11; if (n < 10) { return (n == id[17] - '0'); } else { return (id[17] == 'X'); } }
了解更多,请看 维基百科:https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD%E5%85%AC%E6%B0%91%E8%BA%AB%E4%BB%BD%E5%8F%B7%E7%A0%81
相关文章推荐
- java 实现从15位~18位的身份证号码转换,校验中国大陆公民身份证、香港居民身份证、澳门身份证和台湾身份证。
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法[转载]
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法[转载] 选择自 mYang 的 Blog
- C#实现的18位身份证格式验证算法
- java实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- java实现的18位身份证格式验证算法
- 18位身份证验证方法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法[转载]
- C#实现的18位身份证格式验证算法[转载]
- java实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法 (转载:http://blog.mvpcn.net/lion/articles/1401.aspx)
- C#实现的18位身份证格式验证算法
- C#实现的18位身份证格式验证算法[转载]