demoshop

demo, trying to be the best_

在相關註冊畫面的時候可以直接去驗證輸入的公司統一編號是否正確,這種公式的東西就是要紀錄下來啦。

  • 2009.03.01 再次修正語法 都考慮進去了不會再有問題啦
  • 2008.11.20 修正語法的錯誤少了一段第七位為7的例外,順便加上VB.NET的code
  • 2008.11.04 修正.NET2.0版的語法錯誤
  • 2008.11.04 因.NET3.5版本已無意義,所以刪除

這種公式的東西沒啥好解釋的,用就對了

private Boolean CheckCompanyN(string CompanyId)
{
    int CompanyNo;
    if (CompanyId == null || CompanyId.Trim().Length != 8)
        return false;
    if (!int.TryParse(CompanyId, out CompanyNo))
        return false;
    int[] Logic = new int[] { 1, 2, 1, 2, 1, 2, 4, 1 };
    int addition, sum = 0, j = 0, x;
    for (x = 0; x < Logic.Length; x++)
    {
        int no = Convert.ToInt32(CompanyId.Substring(x, 1));
        j = no * Logic[x];
        addition = ((j / 10) + (j % 10));
        sum += addition;
    }
    if (sum % 10 == 0)
    {
        return true;
    }
    if (CompanyId.Substring(6, 1) == "7")
    {
        if (sum % 10 == 9)
        {
            return true;
        }
    }
    return false;
} 

 

回應討論