簡體   English   中英

如何在輸入框中僅輸入有效的電話號碼?

[英]How can i input only valid telephone number in input box?

我正在嘗試在這樣的輸入框中輸入電話號碼(例如111-222-3333)

所以我使用這段代碼:

<script type="text/javascript">
    function validate(evt) {
      var theEvent = evt || window.event;
      var key = theEvent.keyCode || theEvent.which;
      key = String.fromCharCode( key );
      var regex = /[0-9]|\-/;
      if( !regex.test(key) ) {
        theEvent.returnValue = false;
        if(theEvent.preventDefault) theEvent.preventDefault();
     }
    }
</script>

我現在只能使用整數(0-9)和'-'輸入電話號碼,但問題是用戶還可以在連字符(-)之后鍵入另一個連字符(-)。 或者用戶可以輸入非電話格式的號碼

請幫助我,我真的需要這個..謝謝:)

看看這個: http : //dev.w3.org/html5/markup/input.tel.html

試試: <input type="tel">

您願意多久驗證一次電話號碼? 您可以使用戶或多或少難於輸入一個不正確的號碼,但是最終您將無法完全驗證該號碼,除非您手動拿起電話並確認每個用戶或通過某些短信服務進行確認(如果有)。它只是移動的。

如果您試圖“幫助”用戶,以便他/她知道服務器期望的模式,則可以f.ex使用彼此相鄰的三個輸入字段,中間使用一個短划線。 它可能比添加一些高級事件邏輯有用,該邏輯可以在用戶鍵入時驗證模式。

嘗試這個

/^\(?(\d{3})\)?[- ]?(\d{3})[- ]?(\d{4})$/

將支持

  • (111)-222-3333
  • 111-222-3333
  • 111222-3333
  • 111222333

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM