From a3f357e8a60443b74b64c7479113c68eb35ce1f5 Mon Sep 17 00:00:00 2001 From: ZZJ <10913410+zzj2100@user.noreply.gitee.com> Date: 星期五, 15 七月 2022 19:44:57 +0800 Subject: [PATCH] 控制轮询 --- src/scripts/validate.ts | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/src/scripts/validate.ts b/src/scripts/validate.ts index 6db86d7..9a0dca2 100644 --- a/src/scripts/validate.ts +++ b/src/scripts/validate.ts @@ -57,6 +57,34 @@ return callback(new Error('杈撳叆鐨勬墜鏈哄彿閿欒')) } +export function isIDCard(rule, idcode, callback) { + if (idcode==""||idcode===undefined) { + return callback() + } + var weight_factor = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]; + var check_code = ['1', '0', 'X' , '9', '8', '7', '6', '5', '4', '3', '2']; + + var code = idcode + ""; + var last = idcode[17];//鏈�鍚庝竴浣� + + var seventeen = code.substring(0,17); + + var arr = seventeen.split(""); + var len = arr.length; + var num = 0; + for(var i = 0; i < len; i++){ + num = num + +arr[i] * weight_factor[i]; + } + + var resisue = num%11; + var last_no = check_code[resisue]; + + var idcard_patter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/; + + var format = idcard_patter.test(idcode); + return last === last_no && format ? callback() : callback(new Error('韬唤璇佸彿鏍煎紡閿欒')); +} + export function isIPv4(rule, value, callback) { if (!value) { return callback(new Error('杈撳叆涓嶅彲浠ヤ负绌�')); -- Gitblit v1.8.0