
EMS单号规律与顺丰单号规律(C#).docx
4页/// /// 获取 EMS 物流单号/// /// 当前物流单号/// public static string GetNewEmsNo(string strNo){try{string fri = "";int res;int num3, num4, num5, num6, num7, num8, num9, num0;int mid;string strZero = "00000000";fri = (Convert.ToUInt32(strNo.Substring(2, 8)) + 1).ToString();//不足零自动补零//if (fri.Length /// 获取顺丰物流单号/// /// /// public static string GetNewShunfengNo(string strNo){try{if (strNo.Length != 12){throw new Exception("顺丰单号为 12 位, 请检测单号是否正确");}string fri, Nfri, Yuandanhao, strNewNo;int num9, num10, num11, num12;int Nnum9, Nnum12;int iIndex = 8;fri = strNo.Substring(0, 11);Yuandanhao = strNo;Nfri = (Convert.ToInt64(fri) + 1).ToString().PadLeft(11,'0');num9 = Convert.ToInt32(Yuandanhao.Substring(iIndex++, 1));num10 = Convert.ToInt32(Yuandanhao.Substring(iIndex++, 1));num11 = Convert.ToInt32(Yuandanhao.Substring(iIndex++, 1));num12 = Convert.ToInt32(Yuandanhao.Substring(iIndex++, 1));iIndex = 8;Nnum9 = Convert.ToInt32(Nfri.Substring(iIndex++, 1));if ((Nnum9 - num9 == 1) && ((num9) % (2) == 1)){if (num12 - 8 >= 0)Nnum12 = num12 - 8; // -8elseNnum12 = num12 - 8 + 10;}else if ((Nnum9 - num9 == 1) && ((num9) % (2) == 0)){if (num12 - 7 >= 0)Nnum12 = num12 - 7; // -7elseNnum12 = num12 - 7 + 10;}else{if (((num10 == 3) || (num10 == 6)) && (num11 == 9)){if (num12 - 5 >= 0)Nnum12 = num12 - 5; // -5elseNnum12 = num12 - 5 + 10;}else if (num11 == 9){if (num12 - 4 >= 0)Nnum12 = num12 - 4; // -4elseNnum12 = num12 - 4 + 10;}else{if (num12 - 1 >= 0)Nnum12 = num12 - 1; // -1elseNnum12 = num12 - 1 + 10;}}return strNewNo = Nfri + Nnum12.ToString();}catch (Exception ex){throw ex; } }public static bool IsLetter(string str){foreach (char c in str){if (!char.IsLetter(c)){return false;}}return true;}。
