JavaScript實現,控制一個文本框只能輸入正整數,如輸入不符合條件則文本框全部字體標紅


騰訊2014年研發職位筆試題Web前端方向簡單題第一題。

 

代碼:

<html>
  <head>
    <title>test JavaScript</title>
    <script>
      window.onload = function() {
      var inputInt = document.getElementById('InputInt');
      inputInt.onkeyup = function() {
        var num = this.value;
        var re =/^[0-9]*[1-9][0-9]*$/;
        if (!re.test(num)) {
          this.style.color = "red";
        } else {
          this.style.color = "black";
        }
      };
      
      }
      
    </script>
  </head>
  <body>
    <input id="InputInt" type="number" > 
  </body>
</html>

用多了jQuery,都差點忘了原生js長什么樣了:(

順便復習一下。

首先,window.onload事件:瀏覽器加載完DOM后,會通過javascript為DOM元素添加事件。jQuery里面是$(document).ready()

這兩者也還是有區別的:

  window.onload $(document).ready()
執行時機 頁面所有元素(包括圖片及引用文件)加載完后執行

頁面內所有HTML DOM, CSS DOM加載完就會執行。

如果想要所有元素(包括圖片及引用文件)加載完再注冊事件可以用$(window).load(function);等價於window.onload()

可編寫個數 只能一個。后寫的會覆蓋前面寫的。 可以同時有多個。

 

 然后就是獲取元素,綁定onkeyup函數,在鍵盤按下放開的時候判斷input內的元素是否符合正整數的正則表達式,不符合則文本框內顏色變紅,否則顏色為黑。

對正則表達式沒有概念的可以看看這:正則表達式30分鍾入門教程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM