本篇介紹兩種錯誤檢測函式。
例外處理 (error handling) 是 JavaScript 的一種程式流程控制,你可以在程式執行可能拋出錯誤的地方使用,主動捕捉並處理錯誤,避免整個程式因為發生錯誤而停止執行。
try {
// 預期可能會發生錯誤的程式碼
} catch {
// try 區塊有拋出錯誤時,則執行這裡的程式碼
} finally {
// 不論成敗都要做
// 關閉資源
}
預期console.log (err)會印出錯誤訊息。
函式語言程式設計(Functional Programming, FP)是一種程式撰寫風格,我們同樣能用於條件檢測。
設定檢測條件如下
const moreThanChars = (pw, n) => pw.lenth >= n //pw大於等於引數n
const containPassword = (pw) => pw.include("password") //pw內包括password
const containUppercase = (pw) => pw.toLowerCase() != pw //若pw轉為小寫後與原pw不同,代表有大寫
const containNumber = (pw) => pw.split('').some( (c) => !isNaN(c)) //分拆文字pw,檢查各字元c有無數字
const isValidPassword = (pasword) =>{
password = password.trim() //過濾空白
return moreThanChars (password, 8) //把值帶入
&& containNumber(password) //把值帶入
&& containUppercase(password) //把值帶入
&& !containPassword(password) //把值帶入
}
console.log(isValidPassword("12345")); // false
console.log(isValidPassword("123passwordxyz")); // false
console.log(isValidPassword("helloworld")); // false
console.log(isValidPassword("Helloworld")); // false
console.log(isValidPassword("helloWorld2")); // true