sách gpt4 ai đã đi

angularjs - 如何允许在输入中仅输入数字(数字和小数点)?

In lại 作者:行者123 更新时间:2023-12-03 05:44:44 28 4
mua khóa gpt4 Nike

如何只允许在文本框中输入有效数字?

例如,用户可以输入“1.25”,但不能输入“1.a”或“1..”。当用户尝试输入下一个字符时,这将使其成为无效数字,他们无法输入。

1 Câu trả lời

Tôi đã viết mộtworking CodePen example演示过滤数字用户输入的好方法。该指令当前仅允许正整数,但可以轻松更新正则表达式以支持任何所需的数字格式。

我的指令很容易使用:


该指令非常容易理解:

var app = angular.module('myApp', []);

app.controller('MainCtrl', function($scope) {
});

app.directive('validNumber', function() {
trở lại {
require: '?ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
if(!ngModelCtrl) {
return;
}

ngModelCtrl.$parsers.push(function(val) {
if (angular.isUndefined(val)) {
var val = '';
}
var clean = val.replace( /[^0-9]+/g, '');
if (val !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return clean;
});

element.bind('keypress', function(event) {
if(event.keyCode === 32) {
event.preventDefault();
}
});
}
};
});

我想强调将模型引用排除在指令之外非常重要。

希望您觉得这有帮助。

非常感谢Sean Christe和 Chris Grimes 向我介绍了 ngModelController

关于angularjs - 如何允许在输入中仅输入数字(数字和小数点)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19036443/

28 4 0
Bài viết được đề xuất: f# - 这是一个什么样的类型呢?
Bài viết được đề xuất: google-chrome - 在 headless 模式下运行 Chrome
Bài viết được đề xuất: scala - 揭穿 Scala 神话
Bài viết được đề xuất: macos - Apache 无法在 OSX 中的 MAMP 中启动(但 MySQL 可以工作)
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com