コード例 #1
0
ファイル: BusinessHelper.cs プロジェクト: zhaogaoweii/GMS
        /// <summary>
        /// 功能:将15位的身份证号码转成18位的身份证号码
        /// 日期:2013-03-25
        /// </summary>
        /// <param name="cardNo">15位的身份证号码</param>
        /// <returns>18位的身份证号码</returns>
        public static string UserCarNo15To18(string cardNo)
        {
            int iS = 0;

            //加权因子常数
            int[] iW = new int[] { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 };
            //校验码常数
            string LastCode = "10X98765432";
            //新身份证号
            string perIDNew;

            perIDNew = cardNo.Substring(0, 6);
            //填在第6位及第7位上填上‘1’,‘9’两个数字
            perIDNew += "19";
            perIDNew += cardNo.Substring(6, 9);
            //进行加权求和
            for (int i = 0; i < 17; i++)
            {
                iS += Int32Helper.ToInt32(perIDNew.Substring(i, 1)) * iW[i];
            }
            //取模运算,得到模值
            int iY = iS % 11;

            //从LastCode中取得以模为索引号的值,加到身份证的最后一位,即为新身份证号。
            perIDNew += LastCode.Substring(iY, 1);
            return(perIDNew);
        }
コード例 #2
0
ファイル: BusinessHelper.cs プロジェクト: zhaogaoweii/GMS
 /// <summary>
 /// 功能:取得数据源中数据的总行数
 /// 日期:2013-04-02
 /// </summary>
 /// <param name="obj">数据源</param>
 /// <returns>数据源行数</returns>
 public static int GetRowTotal(DataTable dt)
 {
     if (ValidationHelper.CheckDt(dt))
     {
         return(Int32Helper.ToInt32(dt.Rows[0]["ROW_TOTAL"]));
     }
     return(0);
 }
コード例 #3
0
ファイル: ImportHelp.cs プロジェクト: zhaogaoweii/GMS
        public static ImportResultEntity GetExcelData(HttpPostedFileBase fileBase)
        {
            HttpPostedFile     file     = HttpContext.Current.Request.Files["Files"];
            ImportResultEntity model    = new ImportResultEntity();
            string             fileName = Path.GetFileName(file.FileName);
            int    fileSize             = file.ContentLength;                         //获取上传文件的大小单位为字节byte
            string fileEx     = System.IO.Path.GetExtension(fileName);                //获取上传文件的扩展名
            string NoFileName = System.IO.Path.GetFileNameWithoutExtension(fileName); //获取无扩展名的文件名
            int    maxSize    = 5000 * 1024;                                          //定义上传文件的最大空间大小为5M

            if (!string.IsNullOrEmpty(WebConfigHelper.GetConfigurationApp("importFileMaxSize")))
            {
                maxSize = Int32Helper.ToInt32(WebConfigHelper.GetConfigurationApp("importFileMaxSize")) * 1024 * 1000;
            }
            string FileType = ".xls,.xlsx";//定义上传文件的类型字符串

            fileName = NoFileName + "_" + Guid.NewGuid().ToString().Replace("-", "") + fileEx;
            if (!FileType.Contains(fileEx))
            {
                model.Status  = 1;
                model.Message = "导入的文件必须是Excel文件。";
                return(model);
            }
            if (fileSize > maxSize)
            {
                model.Status  = 1;
                model.Message = "导入的文件Excel大小不能超过" + (maxSize / 1000 / 1024) + "MB.";
                return(model);
            }
            string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/EXCEL/" + DateTime.Now.ToString("yyyyMMdd");

            if (!System.IO.File.Exists(path))
            {
                System.IO.Directory.CreateDirectory(path);
            }
            string savePath = Path.Combine(path, fileName);

            file.SaveAs(savePath);
            model.Status   = 2;
            model.FileName = fileName;
            model.Message  = "您的文件已上传成功。";
            return(model);
        }
コード例 #4
0
ファイル: ValidationHelper.cs プロジェクト: zhaogaoweii/GMS
        /// <summary>
        /// 功能:验证身份证号码是否合法
        /// 日期:2013-03-25
        /// </summary>
        /// <param name="userCardNo">参数 身份证号码</param>
        /// <returns>返回string 合法返回null 不合法返回原因</returns>
        public static string CheckUserCardNo(string userCardNo)
        {
            //如果是15位,则先升级成18位
            if (userCardNo.Length == 15)
            {
                userCardNo = BusinessHelper.UserCarNo15To18(userCardNo);
            }
            string[] aCity = new string[] { null, null, null, null, null, null, null, null, null, null, null, "北京", "天津", "河北", "山西", "内蒙古", null, null, null, null, null, "辽宁", "吉林", "黑龙江", null, null, null, null, null, null, null, "上海", "江苏", "浙江", "安微", "福建", "江西", "山东", null, null, null, "河南", "湖北", "湖南", "广东", "广西", "海南", null, null, null, "重庆", "四川", "贵州", "云南", "西藏", null, null, null, null, null, null, "陕西", "甘肃", "青海", "宁夏", "新疆", null, null, null, null, null, "台湾", null, null, null, null, null, null, null, null, null, "香港", "澳门", null, null, null, null, null, null, null, null, "国外" };
            double   iSum  = 0;

            userCardNo = userCardNo.ToLower();
            System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex(@"^\d{17}(\d|x)$");
            System.Text.RegularExpressions.Match mc = rg.Match(userCardNo);
            if (!mc.Success)
            {
                return("身份证号错误:位数必须是18位");
            }
            userCardNo = userCardNo.Replace("x", "a");
            if (aCity[Int32Helper.ToInt32(userCardNo.Substring(0, 2))] == null)
            {
                return("身份证号错误:非法地区");
            }
            try
            {
                DateTime.Parse(userCardNo.Substring(6, 4) + "-" + userCardNo.Substring(10, 2) + "-" + userCardNo.Substring(12, 2));
            }
            catch
            {
                return("身份证号错误:非法生日");
            }
            for (int i = 17; i >= 0; i--)
            {
                iSum += (System.Math.Pow(2, i) % 11) * int.Parse(userCardNo[17 - i].ToString(), System.Globalization.NumberStyles.HexNumber);
            }
            if (iSum % 11 != 1)
            {
                return("身份证号错误:非法证号");
            }
            return(null);
        }