人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng) > 硬件軟件教程 > 詳細(xì)頁面

【C#】ID號正確性驗證與正則表達(dá)式格式驗證

【C#】ID號正確性驗證與正則表達(dá)式格式驗證

更新時間:2023-06-21 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

根據(jù)運行的環(huán)境,操作系統(tǒng)可以分為桌面操作系統(tǒng),手機操作系統(tǒng),服務(wù)器操作系統(tǒng),嵌入式操作系統(tǒng)等。

js正則驗證號碼_正則驗證號_js驗證號 正則

時間: 2019-11-19

本文介紹[C#]號碼驗證和正則表達(dá)式格式驗證,主要包括[C#]號碼驗證和正則表達(dá)式格式驗證,包括示例,應(yīng)用技巧和基本知識點總結(jié)和注意事項有一定的參考價值,需要的朋友可以參考.

的前兩個省的對應(yīng)編號為:

正則驗證號_js驗證號 正則_js正則驗證號碼

1. 華北: 北京| 11,天津| 12,河北省| 13,山西省| 14,內(nèi)蒙古自治區(qū)| 15;

2. 東北: 遼寧省|吉林省21 |黑龍江省22 | 23;

3. 華東地區(qū): 上海|江蘇省31 |浙江省32 |安徽省33 |福建省34 |江西省35 |山東省36 | 37;

4. 中國中部: 河南省|湖北省41 |湖南省42 | 43;

5. 華南地區(qū): 廣東省|廣西壯族自治區(qū)44 |海南省45 | 46;

6. 西南: 四川省| 51省,貴州省| 52云南省| 53西藏自治區(qū)| 54重慶市| 50;

7. 西北地區(qū): 陜西省| 61js正則驗證號碼,甘肅省| 62,青海省| 63,寧夏回族自治區(qū)| 64js正則驗證號碼,新疆維吾爾自治區(qū)| 65;

8. 特殊地區(qū): 臺灣(886)| 83,香港特別行政區(qū)(852)| 81,澳門特別行政區(qū)(853)| 82.

省市代碼下載:

鏈接:

提取代碼: q11r

using System;
namespace ConnUtils
{
    /**************************************************************************************/
    /************************************號碼的驗證*************************************/
    /**************************************************************************************/
    /**  
    * 15位編碼規(guī)則:dddddd yymmdd xx p
    * dddddd:地區(qū)碼
    * yymmdd: 出生年月日
    * xx: 順序類編碼,無法確定
    * p: 性別,奇數(shù)為男,偶數(shù)為女
    * <p />
    * 18位編碼規(guī)則:dddddd yyyymmdd xxx y
    * dddddd:地區(qū)碼
    * yyyymmdd: 出生年月日
    * xxx:順序類編碼,無法確定,奇數(shù)為男,偶數(shù)為女
    * y: 校驗碼,該位數(shù)值可通過前17位計算獲得
    * <p />
    * 18位號碼加權(quán)因子為(從右到左) Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2,1 ]
    * 驗證位 Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]
    * 校驗位計算公式:Y_P = mod( ∑(Ai×Wi),11 )
    * i為號碼從右往左數(shù)的 2...18 位; Y_P為腳丫校驗碼所在校驗碼數(shù)組位置
    **/
    public class IdentityCardValidation
    {
        /// <summary> 
        /// 驗證合理性 
        /// </summary> 
        /// <param name="idNumber"></param> 
        /// <returns></returns> 
        public static bool CheckIdCard(string idNumber)
        {
            if (idNumber.Length == 18)
            {
                var check = CheckIdCard18(idNumber);
                return check;
            }
            if (idNumber.Length != 15) return false;
            {
                var check = CheckIdCard15(idNumber);
                return check;
            }
        }
        /// <summary> 
        /// 18位號碼驗證 
        /// </summary> 
        private static bool CheckIdCard18(string idNumber)
        {
            if (long.TryParse(idNumber.Remove(17), out var n) == false
                || n < Math.Pow(10, 16)
                || long.TryParse(idNumber.Replace('x', '0').Replace('X', '0'), out n) == false)
            {
                return false;//數(shù)字驗證 
            }
            //省份編號
            const string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
            if (address.IndexOf(idNumber.Remove(2), StringComparison.Ordinal) == -1)
            {
                return false;//省份驗證 
            }
            var birth = idNumber.Substring(6, 8).Insert(6, "-").Insert(4, "-");
            if (DateTime.TryParse(birth, out _) == false)
            {
                return false;//生日驗證 
            }
            string[] arrArrifyCode = ("1,0,x,9,8,7,6,5,4,3,2").Split(',');
            string[] Wi = ("7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2").Split(',');
            char[] Ai = idNumber.Remove(17).ToCharArray();
            int sum = 0;
            for (int i = 0; i < 17; i++)
            {
                // 加權(quán)求和 
                sum += int.Parse(Wi[i]) * int.Parse(Ai[i].ToString());
            }
            //得到驗證碼所在位置
            Math.DivRem(sum, 11, out var y);
            var x = idNumber.Substring(17, 1).ToLower();
            var yy = arrArrifyCode[y];
            if (arrArrifyCode[y] != idNumber.Substring(17, 1).ToLower())
            {
                return false;//校驗碼驗證 
            }
            return true;//符合GB11643-1999標(biāo)準(zhǔn) 
        }
        /// <summary> 
        /// 15位號碼驗證 
        /// </summary> 
        private static bool CheckIdCard15(string idNumber)
        {
            long n = 0;
            if (long.TryParse(idNumber, out n) == false || n < Math.Pow(10, 14))
            {
                return false;//數(shù)字驗證 
            }
            string address = "11x22x35x44x53x12x23x36x45x54x13x31x37x46x61x14x32x41x50x62x15x33x42x51x63x21x34x43x52x64x65x71x81x82x91";
            if (address.IndexOf(idNumber.Remove(2)) == -1)
            {
                return false;//省份驗證 
            }
            string birth = idNumber.Substring(6, 6).Insert(4, "-").Insert(2, "-");
            DateTime time = new DateTime();
            if (DateTime.TryParse(birth, out time) == false)
            {
                return false;//生日驗證 
            }
            return true;
        }
    }
}


本文來自本站,轉(zhuǎn)載請注明本文網(wǎng)址:
http://www.pc-fly.com/a/jisuanjixue/article-283533-1.html



溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 岳池县| 瑞昌市| 惠水县| 和政县| 潮安县| 荆门市| 香格里拉县| 黄平县| 安陆市| 邹平县| 阿荣旗| 黄骅市| 水富县| 南召县| 南和县| 喜德县| 靖州| 扶沟县| 湖南省| 伊金霍洛旗| 郴州市| 井陉县| 成都市| 错那县| 皮山县| 宁河县| 大余县| 青神县| 赫章县| 岳阳县| 农安县| 邵武市| 通许县| 河东区| 大城县| 碌曲县| 滨海县| 横山县| 云龙县| 崇仁县| 和平区|