在標題中引用的查詢的上下文中,“Javascript RegEx 不工作” ,」使用者遇到了一個問題,即無論輸入值如何,正則表達式(regEx) 始終返回false。查詢中提供的程式碼片段如下:
function checkLegalYear() {
var val = "02/2010";
if (val != '') {
var regEx = new RegExp("^(0[1-9]|1[0-2])/\d{4}$", "g");
if (regEx.test(val)) {
//do something
}
else {
//do something
}
}
}
使用者嘗試使用正規表示式驗證年份輸入,但遇到了意外結果。儘管在多個線上編輯器中測試了此程式碼,但正規表示式仍然會傳回 false。
解決問題:
問題的根源在於用於建立的方法正規表示式物件。從字串定義正規表示式時,反斜線字元必須加倍,以防止解析過程中出現錯誤解釋。若要修正此問題,應使用下列程式碼:
var regEx = new RegExp("^(0[1-9]|1[0-2])//\\d{4}$", "g");
或者,建議直接使用RegEx 語法,這樣就無需使用雙反斜杠:
var regEx = /^(0[1-9]|1[0-2])//\\d{4}$/g;
透過實施這些修改,正規表示式現在應該按預期運行,驗證年份輸入並提供準確的結果。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3