Tất cả các giải pháp trên đều khá lớn, tôi muốn tặng 2 xu cho điều này.
Tôi chỉ kiểm tra xem giá trị được đưa vào có phải là một số hay không và kiểm tra nếu nó không trống, vậy thôi.
Đây là html:
<input type="text" ng-keypress="CheckNumber()"/>
Đây là JS:
$scope.CheckKey = function () {
if (isNaN(event.key) || event.key === ' ' || event.key === '') {
event.returnValue = '';
}
};
Nó khá đơn giản.
Tôi tin rằng điều này sẽ không hoạt động trên Paste tho, chỉ để nó được biết đến.
Đối với Dán, tôi nghĩ bạn sẽ cần sử dụng sự kiện onChange và phân tích cú pháp toàn bộ chuỗi, một con thú khác là tamme. Điều này dành riêng cho việc đánh máy.
CẬP NHẬT cho Dán : chỉ cần thêm hàm JS này:
$scope.CheckPaste = function () {
var paste = event.clipboardData.getData('text');
if (isNaN(paste)) {
event.preventDefault();
return false;
}
};
Và đầu vào html thêm trình kích hoạt:
<input type="text" ng-paste="CheckPaste()"/>
Tôi hy vọng điều này sẽ giúp o /