JS控制只能輸入數字並且最多允許小數點兩位

2021-09-30 20:29:15 字數 1374 閱讀 7747

正規表示式

/[^\d.]/g,""        //清除「數字」和「.」以外的字元   也就是只能輸入整數

/\./g,"." //只保留第乙個. 清除多餘的

/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3' //只能輸入兩個小數

以下我們用到的js自帶的方法

replace()

replace() 方法用於在字串中用一些字元替換另一些字元,或替換乙個與正規表示式匹配的子串。

stringobject.replace(regexp/substr,replacement)
引數

描述regexp/substr

必需。規定子字串或要替換的模式的 regexp 物件。

請注意,如果該值是乙個字串,則將它作為要檢索的直接量文字模式,而不是首先被轉換為 regexp 物件。

replacement

必需。乙個字串值。規定了替換文字或生成替換文字的函式。

乙個新的字串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。

字串 stringobject 的 replace() 方法執行的是查詢並替換的操作。它將在 stringobject 中查詢與 regexp 相匹配的子字串,然後用 replacement 來替換這些子串。如果 regexp 具有全域性標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第乙個匹配子串。

replacement 可以是字串,也可以是函式。如果它是字串,那麼每個匹配都將由字串替換。但是 replacement 中的 $ 字元具有特定的含義。如下表所示,它說明從模式匹配得到的字串將用於替換。

字元替換文字

$1、$2、...、$99

與 regexp 中的第 1 到第 99 個子表示式相匹配的文字。

$&與 regexp 相匹配的子串。

$`位於匹配子串左側的文字。

$'位於匹配子串右側的文字。

$$直接量符號。

注意:ecmascript v3 規定,replace() 方法的引數 replacement 可以是函式而不是字串。在這種情況下,每個匹配都呼叫該函式,它返回的字串將作為替換文字使用。該函式的第乙個引數是匹配模式的字串。接下來的引數是與模式中的子表示式匹配的字串,可以有 0 個或多個這樣的引數。接下來的引數是乙個整數,宣告了匹配在 stringobject **現的位置。最後乙個引數是 stringobject 本身。

案例:

$('#coin_rmb').attr('onkeypress',"value=value.replace(/^(\\-)*(\\d+)\\.(\\d\\d\\d).*$/,'$1$2.$3')");

使用jquery控制只能輸入數字,並且關閉輸入法

控制文字框只能輸入數字是乙個很常見的需求,比如 號碼的輸入 數量的輸入等,這時候就需要我們控制文字框只能輸入數字。在用js控制之後在英文輸入法的狀態下去敲擊鍵盤上的非數字鍵是輸不進去的,然而當你轉到中文輸入法的時候輸入的是中文,再按空格或回車鍵,中文或英文本母就輸進去了,這時候就需要我們在文字框得到...

Jquery控制只能輸入數字

控制文字框只能輸入數字是乙個很常見的需求,比如 號碼的輸入 數量的輸入等,這時候就需要我們控制文字框只能輸入數字。在用js控制之後在英文輸入法的狀態下去敲擊鍵盤上的非數字鍵是輸不進去的,然而當你轉到中文輸入法的時候輸入的是中文,再按空格或回車鍵,中文或英文本母就輸進去了,這時候就需要我們在文字框得到...

JS實現只能輸入數字

function mykeydown else if k 13 else style ime mode disabled onkeydown mykeydown 利用樣式表 style ime mode disabled 可以防止切換成漢字輸入法,也就是說只能使用英文輸入法,這樣就防止了輸入漢字的情...