/// <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); }
/// <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); }
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); }
/// <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); }