Yukarıdaki tüm çözümler oldukça büyük, bunun üzerine 2 sentimi vermek istedim.
Sadece girilen değerin bir sayı olup olmadığını ve boş olup olmadığını kontrol ediyorum, hepsi bu.
İşte html:
<input type="text" ng-keypress="CheckNumber()"/>
İşte JS:
$scope.CheckKey = function () {
if (isNaN(event.key) || event.key === ' ' || event.key === '') {
event.returnValue = '';
}
};
Oldukça basit.
Bunun Paste tho üzerinde çalışmayacağına inanıyorum, sadece biliniyor.
Yapıştır için, onChange olayını kullanmanız ve tüm dizeyi ayrıştırmanız gerektiğini düşünüyorum, tamme başka bir canavar. Bu, yazmaya özeldir.
Yapıştır için GÜNCELLEME : bu JS işlevini eklemeniz yeterlidir:
$scope.CheckPaste = function () {
var paste = event.clipboardData.getData('text');
if (isNaN(paste)) {
event.preventDefault();
return false;
}
};
Ve html girişi tetikleyiciyi ekler:
<input type="text" ng-paste="CheckPaste()"/>
Umarım bu yardımcı olur