我試圖檢查使用正則表達式的文本input
中是否有數字。這裏的代碼:允許使用正則表達式的空字符串
var regex = /^[0-9]+$/;
if (myInput.val().match(regex)) {
console.log("number");
} else {
console.log("bad");
}
它運作良好,但如果我添加文本,然後退格一路,我得到「壞」。如何在input
文本中沒有任何內容時記錄「好」?我不想讓空格,但我想允許一個空的input
。
我想:
var regex = /\s ^[0-9]+$/;
但後來不管我在input
插入,我總是得到 「壞」。
嘗試'/^[0-9] * $ /'和'使用正則表達式#test',而不是'字符串#match' – Tushar
爲什麼不只是做兩個檢查? 'if(!val.length || val.match(regex))' – epascarello
@Tushar你能否解釋一下RegExp#測試,並解釋它爲什麼比我更好? – Horay