JS通過正則限制 input 輸入框只能輸入整數、小數(金額或者現金) 兩位小數
第一: 限制只能是整數
?1 |
<input
type = "text"
name= "number"
id = 'number'
onkeyup= "if(!
/^d+$/.test(this.value)){alert('只能整數');this.value='';}"
/>
|
如果不是整數就直接alert
第二: 限制是兩位的小數
?1 |
<input
type = "text"
name= "price"
id = 'price'
onkeyup= "if(
! /^d*(?:.d{0,2})?$/.test(this.value)){alert('只能輸入數字,小數點後只能保留兩位');this.value='';}"
/>
|
原理:
通過 正則表示式判斷,不滿足 執行alert。
第一個正則表示式是 /^d+$/ 表示可以是一個或者多個數字
第二個正則表示式是
?1 |
/^d*(?:.d{0,2})?$/
|
表示必須是數字開頭,數字結尾。
這裡重點是要數字結尾, 在計算機中通常小數 1. , 2. 這種寫法, 就是可是小數點結尾的, 是正確的。這裡強制讓數字結尾。
test()
只要找到滿足的部分就返回真。
意思是是
?1 2 3 |
/d/.
test ( 'a'
) //
false
/d/.
test ( 'a'
) //
true
/d/.
test ( 'a'
) //
true
|
所以要保證誰開頭誰結尾。 開頭用 $, 結尾用 ^
下面給大家介紹js正則限制input框輸入的常用程式碼
1.只能輸入數字和英文的:
?1 2 3 |
<input
onkeyup= "value=value.replace(/[\W]/g,'')
"
onbeforepaste= "clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
|