フォーム入力の検証にAngularJS指示文を使用しています。正規表現に数字とアルファベットとともに1つの特殊文字(:)を使用できるようにする方法があります。これは私がstackoverflowで見つけたディレクティブです。特殊文字(:)と数字とアルファベットのみを許可する正規表現
myapp.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, '');
cleanInputValue = cleanInputValue.toUpperCase();
if (cleanInputValue != inputValue) {
modelCtrl.$setViewValue(cleanInputValue);
modelCtrl.$render();
}
return cleanInputValue;
});
}
}
});
最後にコロンを追加しようとしましたが、私の解決策に到達できませんでした。
{return $ 1?$ 1.replace(/ [^ \ w \ s]/g、function($ 0、$ 1) .replace(/ [^ \ w \ s]/gi、 '')の代わりに –