2017-05-30 14 views
0

我想創建一個輸入掩碼。角度輸入掩碼只能禁用數字

我想要刪除和箭頭鍵功能以及除1 2 3 4 5之外的所有其他鍵。我使用1,2,3,4,5,6作爲熱鍵用於計劃應用程序。是否有可能創建一個只禁用數字1-6的掩碼?

<input pattern="regex"> <!-- not working because it only fires after submit --> 
+0

https://github.com/angular-ui/ui-mask –

+0

ng-keypress是我所需要的。謝謝:) –

回答

3
<input type="text" ng-keypress="keyPressed($event)"> 

在控制器

function MyCtrl($scope){ 
    $scope.keyPressed = function(e) { 
     if (e.keyCode >= 49 && e.keyCode <= 54) { 
      event.preventDefault(); 
     } else { 
      // do your logic 
     } 
    } 
} 

你可以用ng-pattern屬性做的,但它允許的字符並做驗證,但您的要求是禁用的字符。

+0

謝謝!出於某種原因,這也禁用了ABCDEF(字母的前6個字母) –

+0

(e.keyCode> = 97 && e.keyCode <= 102)由於某種原因導致了ABCDEF錯誤 –

+1

a = 97 b = 98 根據http://www.expandinghead.net/keycode.html,c = 99 d = 100 e = 101 f = 102 。不知何故,這些鍵碼打破它。我想沒有支持數字鍵盤。 –

0

可以使用角度ng-pattern來實現這一目標:

<input type="text" ng-model="check" name="check" ng-pattern="/^[^1-6.]*$/"> 
<small class="error" ng-show="exampleForm.check.$error.pattern">Invalid pattern.</small> 

動態檢查無效鍵進入不上提交。

+0

我不是這方面的專家,但我試過了,我認爲它只是在點擊提交按鈕後纔開始。無論如何謝謝你的幫助:) –

+0

誰告訴它只適用於提交?你也可以在變化上做到這一點。 – SaiUnique