jQuery實現的規定文字框中只能輸入正整數

antzone發表於2017-04-03

文字框的輸入的內容可能會有各種限制,比如文字框中只能夠輸入正整數。

下面就是一段能夠實現此功能的程式碼例項,需要的可以做一下參考。

程式碼如下:

[HTML] 純文字檢視 複製程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script>
$(document).ready(function(){
  $("input").keyup(function(){
    $(this).val($(this).val().replace(/\D|^0/g,''));
  }).bind("paste",function(){
    return false;
  })
});
</script>
</head>
<body>
<input type="text"/>
</body>
</html>

上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。

一.程式碼註釋:

(1).$(document).ready(function(){}),當文件結構完全載入完畢再去執行函式中的程式碼。

(2).$("input").keyup(function(){}),為input元素註冊keyup事件處理函式。

(3).$(this).val($(this).val().replace(/\D|^0/g,''));,將非數字或者以0為開頭的替換為空。

(4).bind("paste",function(){

  return false;

}),為文字框註冊paste事件處理函式,這個是為了防止對文字框複製黏貼操作。

二.相關閱讀:

(1).keyup事件可以參閱jQuery keyup一章節。

(2).val()方法可以參閱jQuery val()一章節。

(3).replace()方法可以參閱正規表示式replace()一章節。

(4).bind()方法可以參閱jquery的on()、bind()、live()和delegate()一章節。

(5).paste事件可以參閱onpaste事件用法簡單介紹一章節。

相關文章