gpt4 book ai didi

javascript - 正则表达式 - 在 AngularJS 指令中包含空格

转载 作者:行者123 更新时间:2023-12-03 10:06:54 27 4
gpt4 key购买 nike

我想允许用户仅在此输入字段中输入字母数字和空格,但我似乎无法让它工作。

我可以输入字母数字,但无法输入空格。

我尝试使用 /[^0-9a-zA-Z\.\\s]/g

/[^0-9a-zA-Z\.]/g,

/[^\w ]/g 但它们都不起作用。请帮忙。

app.directive('onlyAlphabets', function() { 
return {
require: '?ngModel',
link: function(scope, element, attrs, ngModelCtrl) {
if(!ngModelCtrl) {
return;
}

ngModelCtrl.$parsers.push(function(val) {
if (angular.isUndefined(val)) {
var val = '';
}
var clean = val.replace(/[^0-9a-zA-Z\.]/g, '');
var decimalCheck = clean.split('.');

if(!angular.isUndefined(decimalCheck[1])) {
decimalCheck[1] = decimalCheck[1].slice(0,2);
clean =decimalCheck[0] + '.' + decimalCheck[1];
}

if (val !== clean) {
ngModelCtrl.$setViewValue(clean);
ngModelCtrl.$render();
}
return clean;
});

element.bind('keypress', function(event) {
if(event.keyCode === 32) {
event.preventDefault();
}
});
}
};
})

最佳答案

仅允许字母数字和空格。

/^[A-Za-z0-9\s]+$/m
  • ^开始
  • A-Z 大写字母。
  • a-z 小写字母。
  • 0-9 位数字。
  • \s 空格
  • [A-Za-z0-9\s]+ 因此上述内容将重复一次或多次。

要从输入字符串中删除除空格之外的非字母数字字符,

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

关于javascript - 正则表达式 - 在 AngularJS 指令中包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30318464/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com