阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 經濟部所屬事業機構_新進職員甄試_統計資訊:1.資料庫及資料探勘 2.程式設計#92162
科目:國營事業◆1.資料庫及資料探勘 2.程式設計
年份:107年
排序:0

題組內容

五、請以 Perl、Javascript 等程式語言或虛擬碼(Pseudo code)檢查使用者輸入之字串是否符合身 分證字號格式,並分別以下列 2 種處理方式撰寫。(每小題 5 分,共 10 分)

申論題內容

(一)多條件式判斷(IF conditions)

詳解 (共 1 筆)

詳解 提供者:hchungw
身分證字號格式檢查 (多條件式判斷)
假設身分證字號格式為:1 個英文字母 + 9 個數字
Perl 範例
perl
複製程式碼
sub validate_id {
    my $id = shift;
    # 檢查長度是否為 10
    if (length($id) != 10) {
        return "Invalid ID: Length must be 10 characters.";
    }
    # 檢查第一個字符是否為英文字母
    if ($id !~ /^[A-Z]$/i) {
        return "Invalid ID: First character must be a letter.";
    }
    # 檢查其餘字符是否為數字
    if ($id !~ /^[A-Z][0-9]{9}$/i) {
        return "Invalid ID: The rest must be numbers.";
    }
    return "Valid ID.";
}
# 測試範例
my $user_input = 'A123456789';
print validate_id($user_input);  # 輸出: Valid ID.
JavaScript 範例
javascript
複製程式碼
function validateID(id) {
    // 檢查長度是否為 10
    if (id.length !== 10) {
        return "Invalid ID: Length must be 10 characters.";
    }
    // 檢查第一個字符是否為英文字母
    if (!/^[A-Z]$/i.test(id[0])) {
        return "Invalid ID: First character must be a letter.";
    }
    // 檢查其餘字符是否為數字
    if (!/^[A-Z][0-9]{9}$/i.test(id)) {
        return "Invalid ID: The rest must be numbers.";
    }
    return "Valid ID.";
}
// 測試範例
var userInput = 'A123456789';
console.log(validateID(userInput));  // 輸出: Valid ID.
Pseudo Code 範例
pseudo
複製程式碼
FUNCTION validateID(id)
    IF LENGTH(id) != 10 THEN
        RETURN "Invalid ID: Length must be 10 characters."
    END IF
    IF NOT IS_LETTER(id[0]) THEN
        RETURN "Invalid ID: First character must be a letter."
    END IF
    FOR i FROM 1 TO 9
        IF NOT IS_DIGIT(id[i]) THEN
            RETURN "Invalid ID: The rest must be numbers."
        END IF
    END FOR
    RETURN "Valid ID."
END FUNCTION
FUNCTION IS_LETTER(char)
    RETURN char MATCHES '[A-Z]'
END FUNCTION
FUNCTION IS_DIGIT(char)
    RETURN char MATCHES '[0-9]'
END FUNCTION
# 測試範例
userInput = "A123456789"
PRINT validateID(userInput)  # 輸出: Valid ID.
以上三個範例展示了如何使用多條件式判斷來檢查使用者輸入的字串是否符合身分證字號格式。在 Perl 和 JavaScript 中,使用了正則表達式來檢查字串格式。在虛擬碼中,使用了基本的字元和數字檢查方法來模擬這個過程。