限制input只能輸入數字且限制只能輸入兩位小數
- chrome中的input不要加type=”number”,有問題,輸入負號擷取到第一個字串是空,就預設text就行
- 若允許負數加上allowMinus類,正數只加limitNumber
- 以下可以封裝成函式,加到DOM上的onkeyup=foo(this)
$(document).on('keyup', '.limitNumber,.allowMinus', function (e) {
//修復第一個字元是小數點 的情況.
let fa = ''
if (this.classList.contains('allowMinus')) { //或者$(this).hasClass('allowMinus')
this.value.substring(0, 1) === '-' && (fa = '-')
}
if (this.value !== '' && this.value.substr(0, 1) === '.') {
this.value = "";
}
this.value = this.value.replace(/^0*(0\.|[1-9])/, '$1');//解決 貼上不生效
console.log(this.value)
this.value = this.value.replace(/[^\d.]/g , ""); //清除“數字”和“.”以外的字元
this.value = this.value.replace(/\.{2,}/g, "."); //只保留第一個. 清除多餘的
this.value = this.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
this.value = this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');//只能輸入兩個小數
if (this.value.indexOf(".") < 0 && this.value !== "") {//以上已經過濾,此處控制的是如果沒有小數點,首位不能為類似於 01、02的金額
if (this.value.substr(0, 1) === '0' && this.value.length === 2) {
this.value = this.value.substr(1, this.value.length);
}
}
this.value = fa + this.value
})
以下是自己寫的方法,比較呆,已放棄, 採用上述方法
$(document).on('keydown', '.limitNumber,.allowMinus', function (e) {
//8 = backspace;45=insert;46=delete;189 = '-';110小鍵盤.
if(this.classList.contains('allowMinus')){
if(e.keyCode === 189){
return false
}
}
if (e.keyCode !== 110 && e.keyCode !== 190 && e.keyCode !== 8 && e.keyCode !== 46 && e.keyCode !== 45 && (e.keyCode < 48
|| (e.keyCode > 57 && e.keyCode < 96) || e.keyCode > 110)) {
return false
}
})
.on('keyup', '.limitNumber', function (e) {
let fa = ''
if(this.classList.contains('allowMinus')){
this.value.substring(0, 1) === '-' && (fa = '-')
}
this.value = this.value.replace(/[^\x00-\x80]/gi, '')
//[^0-9.] 匹配不是數字和小數點的字元
//[.][0-9]*[.] 匹配第一個小數點之後的數字,若多寫小數點則歸位到第一個小數點位置
let str = (this.value.replace(/[^0-9.]/g, '')).replace(/.][0-9]*[.]/, '.').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')
str.substring(0, 1) === '.' && (str = '0' + str)
this.value = fa + str
})
相關推薦
限制input只能輸入數字且限制只能輸入兩位小數
chrome中的input不要加type=”number”,有問題,輸入負號擷取到第一個字串是空,就預設text就行 若允許負數加上allowMinus類,正數只加limitNumber 以下可以封裝成函式,加到DOM上的onkeyup=foo(this)
android editText 控制輸入最大值、保留兩位小數、保留小數點前面兩位數
常用方案: 1.在editText的監聽addTextChangedListener中邏輯判斷 2.使用editText的setFilters(new InputFilter[]),設定輸
JQ設定input框只能輸入數字並限制個數
<input type="text" name="CreatorName" id="CreatorName" value="" maxlength='4'> //給input設定只能輸入數字,如果是非數字會自動刪掉 $("#CreatorName").keyup(functi
input只能輸入數字並限制長度
/*在谷歌下移除input[number]的上下箭頭*/ .regis_box input[type='number']::-webkit-outer-spin-button, .regis_box i
js jquery 限制input輸入框只能輸入兩位小數的數字
//正整數 兩位小數 $('.inputWrap').on('input', function () { var num = $(this).val(); if(n
JS只能輸入數字並限制長度的實用程式碼
$("input[name='deal_days']").bind("keyup blur",function(){if($.trim($(this).val())==''||isNaN($(this).val())||parseInt($(this).val())<
JS通過正則限制 input 輸入框只能輸入整數、小數(金額或者現金) 兩位小數
第一: 限制只能是整數 ? 1 <input type = "text" name= "number" id = 'number' onkeyup= "if(! /^d+$/.t
input標籤只能輸入數字小數點 且小數點後只有兩位 ,不允許存在兩個小數點!!
$("#open").on('keyup', function (event) { var $amountInput = $(this); var tmptxt=$(this).val(); //$(this).val(tmptxt.subString(0,
Android 限制EditText只能輸入數字、限制輸入型別、限制輸入長度的小技巧
準確的說讓Edittext只能輸入數字有方法兩種,都是通過xml屬性設定 方法一: <EditText android:id="@+id/u_account" android:layout_width="0dp"
html input驗證只能輸入數字,不能輸入其他
ron display 只能輸入數字 ack top tom height tro radi html input驗證只能輸入數字,不能輸入其他 此方法為借鑒別人的,在此只做記錄。 <input type="text" onkeyup="if(!/^\
jquery控制input只能輸入數字和兩位小數
jQuery 程式碼: function num(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //清除"數字"和"."以外的字元 obj.value = obj.value.replace(/^\./g,"");
jquery控制input只能輸入數字和兩位小數(轉)
知識點一 直接上程式碼: function num(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); //清除"數字"和"."以外的字元 obj.value = obj.value.replace(/^
只能輸入數字或含兩位小數的正則
var reg=/^\d+(\.\d{0,2})?$/; \d:首位必須是數字 +拼接後面的 ()拼接的內容 \.挨著必須是小數點 \d小數點後面必須是數字 {0,2}兩位有效數字 $:匹配任何結尾為之前所寫的字串 即 小數點和兩位小數 親測有效 reg.tes
輸入框只允許輸入數字並且限制小數點位數
<input type="text" onkeyup="this.value=this.value.toString().match(/^\d+(?:\.\d{0,2})?/)"/>onkeyup 事件會在鍵盤按鍵被鬆開時發生。match() 方法可在字串內檢索指
正則表示式--限制input輸入0~1之間的小數,含0,1,最多兩位小數
一個簡單的正則表示式,工作中可能經常用到,限制字串的輸入、數字的輸入,這些用一個onkeyup就解決了,如:onkeyup="value=value.replace(/[^\d]/g,'') //限制輸入數字 最近有個小需求,限制輸入框輸入費率,要求:只能輸入0-1之間的小
JS驗證輸入框只能輸入數字,並且只能含有2位小數
<script language="JavaScript" type="text/javascript"> //輸入框只能輸入數字,並且只能含有2為小數 function clearNoNum(obj){ obj.value = obj.value.replace(/[^\d.]/g,""); /
限制 EditText 最多輸入兩位小數
為了美觀,先限制一下 android:inputType="numberDecimal" android:maxLength="9" 1.要求與思路 細節要求: 以小數點開頭,前面自動加上
限定EditText只能輸入兩位小數的兩種方式
/** * 限定EditText只能輸入最多兩位小數 * @author Administrator * */ public class MainActivity extends ActionBarActivity { private EditText num_et; private EditT
控制輸入框只能輸入兩位小數和一個小數點
在專案中會對輸入框中的輸入值實時控制小數位,限制使用者只能輸入兩位小數,一個小數點.$(obj).bind("input onInput",function(){ var value =
input輸入框匹配數字(帶兩位小數) js--金額匹配
input輸入框匹配兩位小數的金額,超過部分或者其他非數字和小數點字元不顯示,小數點只能輸入一次,第二次不能輸入,程式碼: <input type="text" onkeyup="checknum(this);"/> <script type