Javascript正则表达式仅允许\ w和特殊字符

时间:2020-02-08 16:07:57

标签: javascript regex

var string = "Ç<>iğ^%+/dem Öçğö";
var check_w = string.search(/\w/g); //sadly this not accept "öığüşç" characters
var check_utf = string.search(/[öığüşç]/gi);

if (check_w != -1 && check_utf != -1) {
   var replace = string.replace(/\W/gi, '');
   document.write(replace); //result is: "idem" but i want result: "Çiğdem Öçğö"
}
else if (check_w != -1 && check_utf == -1) {
  var replace = string.replace(/\W/gi, '');
  document.write(replace); //no problem
}
else if (check_w == -1 && check_utf != -1) {
  //i dont know how to replace other characters but not "öığüşç" that characters. For example: <öı^&^ğ i want result: öığ
}
else if (check_w == -1 && check_utf == -1) {
  alert('error'); //no problem
}

İ不知道如何使用“ check_utf”变量来使例外情况...

编辑:通常我只使用replace来替换特殊字符,但是我想这样,因为我不想允许中国的阿拉伯字符等...(例如制作白名单)

1 个答案:

答案 0 :(得分:2)

如果您要删除所有不是空格的字符\w或以下“例外”字符之一öığüşç,则应执行以下操作:

let string = "Ç<>iğ^%+/dem Öçğö";
let replace = string.replace(/[^\wöığüşç ]/gi, '');
console.log(replace);

相关问题