Tôi đang tìm hiểu chi tiết về chỉ thị angularJs. Hiện tại tôi đang sử dụng nó để hạn chế người dùng không nhập các ký tự đặc biệt.tùy chỉnh chỉ thị để hạn chế người dùng nhập các ký tự đặc biệt: angs Js
đây là mã
HTML
<input type="text" no-special-char ng-model="vm.customTag" class="form-control" value="" />
AngularJS Chỉ
app.directive('noSpecialChar', function() {
return {
require: 'ngModel',
restrict: 'A',
link: function (scope, element, attrs, modelCtrl) {
modelCtrl.$parsers.push(function (inputValue) {
if (inputValue == null)
return ''
cleanInputValue = inputValue.replace(/[^\w\s]/gi, '');
if (cleanInputValue != inputValue) {
modelCtrl.$setViewValue(cleanInputValue);
modelCtrl.$render();
}
return cleanInputValue;
});
}
}
});
đây là hai điều mà tôi muốn
(1) chúng tôi er có thể nhập trừ/dấu gạch ngang '-'
hiện không xảy ra, làm cách nào tôi có thể thay đổi /[^\w\s]/gi
của mình cho phép người dùng nhập dấu (- dấu gạch ngang/dấu trừ).
(2) Chức năng trên chỉ hạn chế người dùng không nhập bất kỳ ký tự đặc biệt nào, nhưng khi người dùng nhập một ký tự đặc biệt tôi muốn hiển thị cảnh báo màu đỏ cũng như không được phép "" ký tự đặc biệt "" làm việc đó đi ??
Bất kỳ trợ giúp nào được đánh giá cao !!!
Cảm ơn
nhưng mã thay thế sẽ xóa tất cả các ký tự đặc biệt .. giải thích về ký tự nằm trong ký tự đặc biệt. –
Tôi không muốn người dùng nhập ~! @ # $%^& *() {} []?/+ =, * ', Nó phải là số alpha + trừ (-) + _ (dấu gạch dưới) được cho phép – shreyansh
Có một cái nhìn vào xác nhận hình thức góc cạnh. Tôi khuyên bạn nên đánh dấu đầu vào là không hợp lệ và cho phép xử lý xác thực biểu mẫu hiển thị lỗi. Ngoài ra tôi sẽ không khuyên bạn nên thay đổi những gì người sử dụng đầu vào, nó là tốt hơn để nói với họ rằng họ đang làm một cái gì đó sai hơn là thay đổi kỳ diệu những gì họ làm. –