﻿function IsNumber(obj)//判斷輸入的值是否為數值
{
    //obj.value = Trim(obj.value);
    if (obj.value.length > 0) {
        if (isNaN(obj.value)) //非數字
        {
            //obj.value = obj.value.slice(0,-1);
            obj.value = '';
            alert("請填入數字!!");
                        
        }
        else//數字
        {
            //obj.value = o.value;
        }
    }
}

function chkEMail(obj)//檢查EMAIL正確性
{
    if (obj.value == "") {
        return false;
    }
    if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(obj.value))) {
        alert("E-Mail信箱格式錯誤!!");
        obj.value = "";
        return false;
    }

    //Email 驗證的 Regular Expression已經是所有寫網頁程式的人都會背的。我都是直接使用這段 regular expression
    //  /^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/

}

function checkID2(obj) {
    re = /^[A-Z]\d{9}$/;
    if (re.test(obj))
        alert("成功！符合「" + re + "」的格式！");
    else
        obj.value = '';
        alert("請輸入正確身份證字號的格式！");
}

function checkID(obj) {
    // 依照字母的編號排列，存入陣列備用。
    var letters = new Array('A', 'B', 'C', 'D',
      'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
      'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
      'X', 'Y', 'W', 'Z', 'I', 'O');
    // 儲存各個乘數
    var multiply = new Array(1, 9, 8, 7, 6, 5,
                           4, 3, 2, 1);
    var nums = new Array(2);
    var firstChar;
    var firstNum;
    var lastNum;
    var total = 0;
    // 撰寫「正規表達式」。第一個字為英文字母，
    // 第二個字為1或2，後面跟著8個數字，不分大小寫。
    var regExpID = /^[a-z](1|2)\d{8}$/i;
    // 使用「正規表達式」檢驗格式


    if (obj.value.search(regExpID) == -1) {
        obj.value = '';                                            
        alert('請確實填寫身份證號碼');
        return false;
    } else {

        firstChar = obj.value.charAt(0).toUpperCase();
        lastNum = obj.value.charAt(9);
    }

    for (var i = 0; i < 26; i++) {
        if (firstChar == letters[i]) {
            firstNum = i + 10;
            nums[0] = Math.floor(firstNum / 10);
            nums[1] = firstNum - (nums[0] * 10);
            break;
        }
    }

    for (var i = 0; i < multiply.length; i++) {
        if (i < 2) {
            total += nums[i] * multiply[i];
        } else {
            total += parseInt(obj.value.charAt(i - 1)) *
               multiply[i];
        }
    }

    if ((10 - (total % 10)) != lastNum) {
        obj.value = '';
        alert("身份證號碼寫錯了！請輸入正確身份證字號！");
        return false;
    }
    return true;
}

