当前位置: 首页 > 面试题库 >

使用AngularJS将输入限制为数字输入字段

魏凯捷
2023-03-14
问题内容

我试图在下面的字段中限制输入为数字

Postal Code:
<input type="text" id="zipCode1" name="zipCode1" size="4" maxlength="5" ng-model="zipCode1" ng-change="myNumbers(zipCode1)" />
<input type="text" id="zipCode2" name="zipCode2" size="3" maxlength="4" ng-model="zipCode2" ng-change="myNumbers(zipCode2)" />

它不适用于

$scope.myNumbers = function(fieldName){
var tN = fieldName.replace(/[^\d]/g, "");
    if(tN != fieldName)
    fieldName = tN
};

它适用于以下代码,但同时更改了两个字段

$scope.$watch('myNumbers', function() {
var tN = $scope.myNumbers.replace(/[^\d]/g, "");
    if(tN != $scope.myNumbers)
    $scope.myNumbers = tN;
})

需要更改用户正在输入的输入字段的值,而不是两者都更改


问题答案:

使用此处找到的指令:而不是ng-change函数。复制此处以方便参考:

angular.module('app').
  directive('onlyDigits', function () {

    return {
        restrict: 'A',
        require: '?ngModel',
        link: function (scope, element, attrs, ngModel) {
            if (!ngModel) return;
            ngModel.$parsers.unshift(function (inputValue) {
                var digits = inputValue.split('').filter(function (s) { return (!isNaN(s) && s != ' '); }).join('');
                ngModel.$viewValue = digits;
                ngModel.$render();
                return digits;
            });
        }
    };
});


 类似资料:
  • 问题内容: 如何在Swift中将用户的TextField输入限制为数字? 问题答案: 您可以使用的方法将用户的输入限制为数字: 为Swift 3更新:

  • 问题内容: 我在AngularJS中使用ngChange来触发自定义函数,该函数将删除用户添加到输入中的所有字母。 问题是我需要定位触发的输入,以便删除输入的字母。我已经在Google上寻找了很长时间,并且对此一无所获。 我能做什么? 问题答案: 简单的方法 ,如果适用于您的用例,请使用type =“ number” : 另一种简单的方法: ng- pattern 也可用于定义正则表达式,以限制字

  • 问题内容: 基本上,我的情况要求我检查在一种情况下由用户从键盘输入定义的字符串是否仅为字母字符,而在另一种情况下仅为数字。这是用Java编写的。 我当前的代码: 我需要确保StudentID仅是数字,并且每个名称段都是字母。 问题答案: 已经可以使用方法检查下一个标记是否具有给定的模式/类型。 这是一个使用正则表达式用于验证下一个标记仅由字母组成的示例: 这是一个示例会话: 要验证下一个令牌是可以

  • 在这里,我做了一个文本输入,它显示1000按文本范围的vlaue划分: 数字结果出现在小数点以外。如何限制文本输入中出现的字符数(例如4位数:12.34)?在这里似乎不起作用。

  • 问题内容: 我想创建JTextField,输入字符限于“ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZZ0123456789 +&@#/%?=〜_- |!:,。;”之类的输入字符。所以我尝试覆盖 但这不是我想要的,因为用户无法再按ctrl-c ctrl-v ctrl-x …所以我添加了 到if条件,但现在用户可以粘贴不适当的输入,即’(’

  • 我已经编写了basic程序,但是,我需要使它这样,如果输入了一个以上的字符,一个错误消息将显示。 }