Всі вищезазначені рішення досить великі, я хотів би дати на це свої 2 центи.
Я лише перевіряю, чи введене значення є числом чи ні, і перевіряю, чи не порожнє, це все.
Ось html:
<input type="text" ng-keypress="CheckNumber()"/>
Ось JS:
$scope.CheckKey = function () {
if (isNaN(event.key) || event.key === ' ' || event.key === '') {
event.returnValue = '';
}
};
Це досить просто.
Я вірю, що ця звична робота над Paste tho, щоб вона була відома.
Для Paste, я думаю, вам потрібно буде використати подію onChange і проаналізувати весь рядок, зовсім інший звір, тамме. Це специфічно для набору тексту.
ОНОВИТИ для вставки : просто додайте цю функцію JS:
$scope.CheckPaste = function () {
var paste = event.clipboardData.getData('text');
if (isNaN(paste)) {
event.preventDefault();
return false;
}
};
І вхід html додає тригер:
<input type="text" ng-paste="CheckPaste()"/>
Сподіваюся, це допомагає o /