javascript - 允许 angularjs 中的字母数字指令使用破折号

标签 javascript regex angularjs angularjs-directive

我使用指令仅允许在我的字段中使用字母数字字符。我发现这个指令可以做到这一点:

app.directive('onlyAlphabets', function() {
  return {
    require: 'ngModel',
    link: function(scope, element, attr, ngModelCtrl) {
      function fromUser(text) {
        var transformedInput = text.replace(/[^0-9a-zA-Z\s]/g, '');
        console.log(transformedInput);
        if (transformedInput !== text) {
          ngModelCtrl.$setViewValue(transformedInput);
          ngModelCtrl.$render();
        }
        return transformedInput; // or return Number(transformedInput)
      }
      ngModelCtrl.$parsers.push(fromUser);
    }
  };
});

这很好用。现在我也想允许破折号。我该怎么做?

最佳答案

将正则表达式更改为

 text.replace(/[^0-9a-zA-Z\-\s]/g, '');

Example

关于javascript - 允许 angularjs 中的字母数字指令使用破折号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31135907/

相关文章:

javascript - 如何四舍五入到小数点后两位?

javascript 选择/范围坐标

python - 具有排列和重复的正则表达式

c++ - 是否可以在正则表达式中命名子模式,然后通过 C++ 中的子模式名称提取匹配项?

javascript - Angular 追加快但销毁慢(1秒)

javascript - Meteor:如何在html页面上使用光标数组的数组显示列表

javascript - NwJS,并且需要客户端库

python解析: what file format uses `=>` OR how to read custom input files to dict

javascript - AngularJS - 显示和隐藏带有 glyphicon 的箭头图标

javascript - AngularJS $http 获取服务 'SyntaxError: Unexpected token }' 问题