私はangularJsディレクティブについて詳しく学んでいます。現在、私はそれを使用して特殊文字を入力しないように制限しています。ここ特殊文字を入力するようにユーザーを制限するためのディレクティブをカスタマイズする:angular Js
は、ここでは、コード
HTML
<input type="text" no-special-char ng-model="vm.customTag" class="form-control" value="" />
AngularJS指令
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;
});
}
}
});
は私が
(1)私たちの望む二つのものがあるです現在入力されていないマイナス/ダッシュ'-'
を入力することができます。/[^\w\s]/gi
を変更して - (ダッシュ/マイナス)記号も入力できるようにするにはどうすればよいですか?
(2)上記の機能は、ユーザーが任意の特殊文字を入力しないように制限しますが、ユーザーのタイプは特殊文字私も赤色の警告を表示したいとき私はどのように、できる「特殊文字は使用できません」それを行う ??
ご迷惑をおかけして申し訳ございません!
おかげ
ただし、置き換えコードでは、すべての特殊文字を削除する必要があります。特殊文字に含まれる文字について説明します。 –
〜!@#$%^&*(){} []?/ + =、* '、アルファベット+マイナス( - )+ _(アンダースコア)の記号で入力する必要があります – shreyansh
角形のバリデーションを見てください。入力を無効としてマークし、フォームの検証でエラーを表示させることをお勧めします。また、ユーザーが入力した内容を変更することはお勧めしませんが、魔法のように変更するのではなく、何か間違ったことをしていることを伝える方が良いです。 –