角度输入掩码仅禁用数字

时间:2017-05-30 06:39:23

标签: angularjs

我正在尝试创建一个输入掩码。

我想要删除和箭头键功能以及除1 2 3 4 5之外的所有其他键6.我使用1,2,3,4,5,6作为调度应用程序的热键。是否有可能在角度上创建一个只禁用数字1到6的掩码?

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

2 个答案:

答案 0 :(得分: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属性,但它允许角色并进行验证,但您的要求是禁用字符。

答案 1 :(得分: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>

动态检查无效密钥输入不在提交时。