我有以下的角度指令,應利用輸入並拒絕不屬於英文字母字符的任何字符:角指示大寫字母,而忽略數字
<input type="text" maxlength="1" capitalize />
.directive('capitalize', function() {
return {
require: 'ngModel',
link: function(scope, element, attrs, modelCtrl) {
var capitalize = function(inputValue) {
if (inputValue == undefined) inputValue = '';
inputValue = inputValue.replace(/[^a-zA-Z]/g, ''); //to reject non-alphabet characters
var capitalized = inputValue.toUpperCase();
if (capitalized !== inputValue) {
modelCtrl.$setViewValue(capitalized);
modelCtrl.$render();
}
return capitalized;
}
modelCtrl.$parsers.push(capitalize);
capitalize(scope[attrs.ngModel]); // capitalize initial value
}
};
})
它確實大寫輸入,但不拒絕非字母字符。建議?
我放棄你的代碼爲小提琴和它的工作。如果您沒有輸入正確的信息,模型不會更新:http://jsfiddle.net/p149wuL1/ –
更正模型沒有更新,但是如何防止文本輸入接受不正確的字符? – lilbiscuit
您可以查看angular-ui-mask來查看它是否滿足您的需求。 –