JavaScript 是一種廣泛使用的腳本語言,HTML 頁面的交互行為大多由 JavaScript 完成,正則表達式是 JavaScript 中非常實用的工具,尤其是數字驗證。
對于數字驗證,我們常用正則表達式中的 \d 來表示數字,例如:
var reg = /\d/; reg.test("123"); // true
以上代碼驗證了 "123" 是否為數字,結果返回 true。但是它只能匹配單個數字字符,如果我們要驗證多個數字字符,可以使用 * 表示任意多個數字字符,例如:
var reg = /^\d*$/; reg.test("12345"); // true reg.test("12345A"); // false
以上代碼使用 ^ 和 $ 來匹配字符串的開頭和結尾,\d* 表示任意多個數字字符,這樣我們就可以驗證一串數字字符是否全部為數字了。
除了 *,我們還可以使用 + 來表示一個或多個,使用 ? 來表示零個或一個,例如:
var reg = /^\d+$/; reg.test("12345"); // true reg.test("A12345"); // false var reg = /^\d?$/; reg.test(""); // true reg.test("1"); // true reg.test("12"); // false
以上代碼分別使用 + 和 ? 來驗證數字字符是否存在,或者只有一個。
除了以上幾種特殊字符,我們還可以使用 [] 來表示數字的范圍,例如 [0-9] 表示數字 0 到 9,我們也可以使用 {n,m} 來表示匹配 n 到 m 個重復字符,例如:
var reg = /^[0-9]{5}$/; reg.test("12345"); // true reg.test("123"); // false reg.test("123456"); // false
以上代碼使用 [0-9] 表示數字 0 到 9,{5} 表示匹配 5 個數字字符,這樣我們就可以精確驗證一個 5 位數的數字字符串。
最后就是一些常用的驗證方法,例如 isNumber() 判斷是否為數字類型,isNaN() 判斷是否為 NaN 類型,parseInt() 將字符串轉換為整型數,parseFloat() 將字符串轉換為浮點數,例如:
console.log(typeof 123); // "number" console.log(typeof "123"); // "string" console.log(typeof NaN); // "number" console.log(isNaN("abc")); // true console.log(parseInt("123")); // 123 console.log(parseFloat("1.23")); // 1.23
以上代碼展示了一些常用的驗證方法和轉換方法,可以幫助我們更好地處理數字字符串。
在編寫 JavaScript 代碼時,數字驗證是非常重要的一個環節,我們可以使用正則表達式來實現簡單的數字驗證,也可以結合常用的驗證方法來實現更為精確的驗證。