身分證字號格式檢查 (多條件式判斷)
假設身分證字號格式為: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 中,使用了正則表達式來檢查字串格式。在虛擬碼中,使用了基本的字元和數字檢查方法來模擬這個過程。