簡體   English   中英

驗證輸入類型編號html

[英]Validate input type number html

參見http://jsbin.com/oqujuf/1/edit

$('input').keyup -> console.log @value

當我在輸入中輸入字母時打印為空,我如何嘗試在輸入中鍵入字母時將其刪除?

@value = @value.replace(/\D/, '')

但是,這是行不通的,因為一旦我寫信,值就會立即返回空。

更新資料

我用這種方式:

if !@value then @value = ''

這可行。 但是現在我的問題是,我想驗證以僅刪除字母,我該怎么做?

還有另一個問題:假設我使用5到50的范圍,如果我想寫15,則當我寫1值消失后,您將如何解決這2個問題?

如果我正確理解的話,解決該問題的一種方法是通過拒絕與數字不匹配的任何鍵碼以及其他一些鍵(如Delete,Tab和Arrow鍵)來限制字段中的字符,例如:

$ ->
  $('input').keypress (e)->
    acceptedKeys = ([8,9].concat [48..57]).concat [46]
    unless (e.which in acceptedKeys)
      return false

注意使用keypress事件而不是keyup 您可能還希望包含. 字符鍵碼(46),如果您想接受小數。 這種方法的缺點是,它也將防止粘貼值與鍵盤快捷鍵的字段,但允許使用鼠標右鍵菜單的任何字符糊狀。

jsbin在這里: http ://jsbin.com/idukin/7/edit

暫無
暫無

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

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