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

相關文章
javascript showModalDialog傳值與FireFox的window.open 父子窗口傳值示例
javascript showModalDialog傳值與FireFox的window.open 父子窗口傳值示例代碼。2009-11-11

