輸入框過濾非數(shù)字的js代碼
更新時間:2014年09月18日 17:21:12 投稿:whsnow
這篇文章主要介紹js過濾輸入框中非數(shù)字的字符,很簡單,但很實用,需要的朋友可以參考下
HTML:
復(fù)制代碼 代碼如下:
<input type="text" id="only"/>
JS:
window.onload=function(e){
var text=document.getElementById("only"),pattern=/\d/,//pattern匹配字母上的數(shù)字鍵
pattern2=/(9[6-9])|(10[0-5])|3(7|9)/,//pattern2匹配小鍵盤上的數(shù)字鍵和左右方向鍵
EventHandle={},event=e||window.event;//一個處理事件的對象
//當(dāng)網(wǎng)頁加載的時候,進(jìn)行判斷,對事件處理對象進(jìn)行定義屬性,這樣對事件對象的方法只需要進(jìn)行一次判斷,以后的其他事件
//處理程序里面不需要判斷
if(event.preventDefault){
EventHandle.preventDefault=function(e){
e.preventDefault();
};
}else{
EventHandle.preventDefault=function(e){
e.returnValue=false;
}
}
text.onkeydown=function(e){
var event=e||window.event;//不同事件的事件對象不一樣,這個event和最前面的event不相等
if(!pattern.test(String.fromCharCode(event.keyCode))&&event.keyCode!=8//keyCode=8是退格鍵,因為可以對輸入的數(shù)字進(jìn)行修改,所以退格和左右方向鍵不禁止
&&!pattern2.test(event.keyCode.toString())||event.shiftKey||
event.ctrlKey||event.metaKey){
EventHandle.preventDefault(event);//如果不用對象的這個方法,寫成下面這樣,也可以執(zhí)行,不過每次按下鍵盤的時候都會進(jìn)行一次判斷
//這個是沒有必要的,所以在頁面加載的時候?qū)κ录幚韺ο蠖x一個方法,加載后對象的方法就已經(jīng)是確定的了,以后時候就可以了
//if(event.preventDefault){
//event.preventDefault();
//}else{
//event.returnValue=false;
//}
}
}
}
未注釋版本:
window.onload=function(e){
var text=document.getElementById("only"),pattern=/\d/,
pattern2=/(9[6-9])|(10[0-5])|3(7|9)/,
EventHandle={},event=e||window.event;
if(event.preventDefault){
EventHandle.preventDefault=function(e){
e.preventDefault();
};
}else{
EventHandle.preventDefault=function(e){
e.returnValue=false;
}
}
text.onkeydown=function(e){
var event=e||window.event;
if(!pattern.test(String.fromCharCode(event.keyCode))&&event.keyCode!=8
&&!pattern2.test(event.keyCode.toString())||event.shiftKey||
event.ctrlKey||event.metaKey){
EventHandle.preventDefault(event);
}
}
}
在IE11里面,F(xiàn)12打開開發(fā)者工具里面可以選擇IE版本進(jìn)行調(diào)試

相關(guān)文章
原生JS實現(xiàn)動態(tài)添加新元素、刪除元素方法
這篇文章主要介紹了原生js實現(xiàn)動態(tài)添加新元素、刪除元素方法 ,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05
PNGHandler-借助JS讓PNG圖在IE下實現(xiàn)透明(包括背景圖)
PNGHandler-借助JS讓PNG圖在IE下實現(xiàn)透明(包括背景圖)...2007-08-08
SwfUpload在IE10上不出現(xiàn)上傳按鈕的解決方法
在測試中發(fā)現(xiàn)使用了SwfUpload實現(xiàn)的無刷新上傳功能,在IE10上竟然無法使用了,難道SwfUpload不支持嗎?下面與大家分享下通過修改SwfUplad.JS文件讓其支持ie102013-06-06
js中關(guān)于String對象的replace使用詳解
關(guān)于String對象的replace使用詳解,需要的朋友可以參考下。2011-05-05
使用Promise和JavaScript有效處理1000個請求的方法
在現(xiàn)代Web開發(fā)中,處理高并發(fā)請求是一個常見的挑戰(zhàn),當(dāng)我們需要從服務(wù)器獲取大量數(shù)據(jù)或執(zhí)行多個異步任務(wù)時,如何有效地管理請求的并發(fā)性和性能變得至關(guān)重要,本文將介紹如何使用Promise和JavaScript來管理高并發(fā)請求,需要的朋友可以參考下2023-09-09
JavaScript中的for循環(huán)與雙重for循環(huán)詳解
這篇文章主要給大家介紹了關(guān)于JavaScript中for循環(huán)與雙重for循環(huán)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

