function a(a, b) {
   return a.test(b)
 }
 function b(a) {
   return a = jQuery.trim(a), 0 == a.length
 }
 function c(a) {
   return !b(a)
 }    function t(c) {
if (b(c))
return !1;
c = c.toUpperCase();
var d = {
11 : "北京",
12 : "天津",
13 : "河北",
14 : "山西",
15 : "内蒙古",
21 : "辽宁",
22 : "吉林",
23 : "黑龙江",
31 : "上海",
32 : "江苏",
33 : "浙江",
34 : "安徽",
35 : "福建",
36 : "江西",
37 : "山东",
41 : "河南",
42 : "湖北",
43 : "湖南",
44 : "广东",
45 : "广西",
46 : "海南",
50 : "重庆",
51 : "四川",
52 : "贵州",
53 : "云南",
54 : "西藏",
61 : "陕西",
62 : "甘肃",
63 : "青海",
64 : "宁夏",
65 : "新疆",
71 : "台湾",
81 : "香港",
82 : "澳门",
91 : "国外"
}, e = /(^\d{15}$)|(^\d{17}(\d|X)$)/;
if (a(e, c) === !1)
return !1;
var f = c.substr(0, 2);
if (void 0 == d[f])
return !1;
var g = c.length;
if (15 == g) {
var h = /^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/, i = c.match(h), j = s("19"
+ i[2]), k = s(i[3]), l = s(i[4]), m = new Date("19" + j
+ "/" + k + "/" + l);
m.setFullYear(j), m.setMonth(k - 1), m.setDate(l);
var n = new Date, o = n.getFullYear();
if (m.getFullYear() != j || m.getMonth() + 1 != k
|| m.getDate() != l)
return !1;
var p = o - j;
if (!(p >= 3 && 100 >= p))
return !1
}
if (18 == g) {
var q = /^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/, i = c
.match(q), j = s(i[2]), k = s(i[3]), l = s(i[4]), m = new Date(j
+ "/" + k + "/" + l);
m.setFullYear(j), m.setMonth(k - 1), m.setDate(l);
var n = new Date, o = n.getFullYear();
if (m.getFullYear() != j || m.getMonth() + 1 != k
|| m.getDate() != l)
return !1;
var p = o - j;
if (!(p >= 3 && 100 >= p))
return !1
}
if (15 == c.length) {
var r, t = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8,
4, 2), u = new Array("1", "0", "X", "9", "8", "7", "6",
"5", "4", "3", "2"), v = 0;
for (c = c.substr(0, 6) + "19" + c.substr(6, c.length - 6), r = 0; 17 > r; r++)
v += c.substr(r, 1) * t[r];
c += u[v % 11]
}
if (18 == c.length) {
var r, w, t = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5,
8, 4, 2), u = new Array("1", "0", "X", "9", "8", "7", "6",
"5", "4", "3", "2"), v = 0;
for (r = 0; 17 > r; r++)
v += parseInt(c.substr(r, 1)) * t[r];
if (w = u[v % 11], w != c.substr(17, 1))
return !1
}
return !0
}

  

最新文章

  1. IOS - 本地数据持久化
  2. FFT 模板
  3. CSS 控制滚动条样式
  4. 关于 Memcached 的一些使用
  5. asp.net夜话之十一:web.config详解
  6. 搜索广告与广告网络Demand技术-流式计算平台
  7. 转:JAVA里面的int类型 和Integer类型,有什么不一样
  8. 洛谷 P3927 Factorial
  9. ffmpeg在am335x上的移植
  10. bzoj5251 [2018多省省队联测]劈配
  11. 高淇java300集JAVA面向对象的进阶作业
  12. Python之旅Day12 HTML与CSS
  13. k8s使用glusterfs做存储
  14. 【C++】读取参数的类
  15. SV processses
  16. Kafka.net使用编程入门(三)
  17. dos命令:系统命令
  18. java并发:jdk1.8中ConcurrentHashMap源码浅析
  19. 深入理解Java的注解(Annotation):基本概念(1)
  20. Spark streaming + Kafka 流式数据处理,结果存储至MongoDB、Solr、Neo4j(自用)

热门文章

  1. 洛谷4438 [Hnoi2018]道路 【树形dp】
  2. Python之面向对象:面向对象基础
  3. vue-element-admin开发模式下style标签热更新失效[解决办法]
  4. redux使用需要注意的地方
  5. 【03】Vue 之列表渲染及条件渲染
  6. shell for参数
  7. BZOJ 2813: 奇妙的Fibonacci
  8. 利用C#原有函数对数组进行降序排列
  9. ef code first transform,add ef power tools add-in,add tangible t4 editor for enhancement.
  10. codevs——1010 过河卒(棋盘DP)