輸入框裡只能輸入數字和小數,允許負值出現,保留兩位小數。
因為需求是只要失去焦點就自動儲存,所以在js中寫了乙個判斷處理的方法,在鍵盤釋放的時候執行此方法
方法如下:
/**
* liy
* 清理輸入框輸入
* 此方法為逐條驗證,請勿改變驗證清理順序,否則可能出現清除錯誤的情況,產生錯誤資料
* 保留2位小數的驗證0.0和-0.0無法通過此方法驗證,可以在提交方法中判斷
* @param obj
*/function
fornum
(obj)/g,
"-")
;//0開頭的只能輸入乙個0
obj.value = obj.value.
replace
(/^0/g
,"0");
//-0開頭的只能輸入乙個0
obj.value = obj.value.
replace
(/^-0/g
,"-0");
//數字裡面只能有乙個"-",保留第乙個,清除多餘的(清除間隔輸入)
obj.value = obj.value.
replace
("-"
,"$*$").
replace
(/-/g,""
).replace
("$*$"
,"-");
//只能輸入乙個".",連續輸入超過2個,則清除後面的(清除連續輸入)
obj.value = obj.value.
replace
(/\./g
,".");
//驗證輸入順序
obj.value = obj.value.
replace
(/^\./g,""
);//"."開頭,清除
obj.value = obj.value.
replace
(/^-\./g
,"-");
//"-."開頭,清除"."
obj.value = obj.value.
replace
(/-\./g
,".");
//"-.",清除"-"
obj.value = obj.value.
replace
(/\.-/g
,".");
//".-",清除"-"
//數字裡面只能有乙個".",保留第乙個,清除多餘的(清除間隔輸入)
obj.value = obj.value.
replace
("."
,"$#$").
replace
(/\./g,""
).replace
("$#$"
,".");
var num = obj.value;
var n = num.
search
("-");
if(n >0)
if(/^0[1-9]+/
.test
(num))if
(/^-0[1-9]+/
.test
(num))if
(/^-0\.00+/
.test
(num))if
(/^0\.00+/
.test
(num)
)//只能輸入兩位小數
obj.value = obj.value.
replace
(/^(\-)*(\d+)\.(\d\d).*$/
,'$1$2.$3');
}
以上的判斷並不全面,因為可以保留2位小數,所以0.0或者-0.0這種就無法用此方法判斷,只能在提交儲存時去做乙個判斷處理,自己研究的方法,有不足的地方或者可以改進的地方希望各位大神給予指導。 input輸入框js處理彙總
1.取消按鈕按下時的虛線框 在input裡新增屬性值 hidefocus 或者 hidefocus true 2.唯讀文字框內容 在input裡新增屬性值 readonly 3.防止退後清空的text文件 可把style內容做做為類引用 4.enter鍵可以讓游標移到下乙個輸入框 5.只能為中文 有...
JS輸入框校驗
想做姓名輸入的js判斷是否是中文,但是網上找的很多是源於一篇文章的,判斷中文的正則式不對,後來找到乙個可以準確判斷了,但是是監測裡面有中文的就行,跟我想要的只能輸入中文的意思相左,所以又找了下面的 js 控制文字框只能輸入數字 input nkeyup value value.replace 0 9...
Js驗證輸入框
validate.js html頁面使用情況 驗證字段是否唯一 欄位的唯一性校驗 validtype unique findvalidationmarkernumber.do add id true,輸入值已存在 第乙個引數 請求的url 第二個引數 add update 新增為add,修改為upd...