你可以使用正则表达式与伍模式,并通过NG-消息通过NG-消息显示消息
$scope.useOnlySpecialCharacters = /^[a-zA-Z0-9]*$/;
<input type="text" ng-model="specialcharacters"
ng-pattern="useOnlySpecialCharacters" />
显示消息
<div ng-message="pattern"> Please Enter AlphaNumeric </div>
OR
最好的选择是使用指令
app.directive('noSpecialChar', function() {
return {
require: 'ngModel',
restrict: 'A',
link: function (scope, element, attrs, modelCtrl) {
modelCtrl.$parsers.push(function (inputValue) {
if (inputValue == null) {
return '';
}
var cleanInputValue = inputValue.replace(/[^\w\s]/gi, '');
if (cleanInputValue != inputValue) {
modelCtrl.$setViewValue(cleanInputValue);
modelCtrl.$render();
}
return cleanInputValue;
});
}
}
});
LINK
–
任何人都请帮助我。我该怎么做。我已经在使用ng-pattern =“/^[a-zA-Z0-9] * $ /”。但它允许输入文本。我想拒绝特殊的字符。感谢提前 –
实际的pancard正则表达式是5个字符4位数字和尾随字符。已经更新了下面的答案。 – mayankbatra