删除除亚美尼亚语,ASCII和俄语字母以外的所有字符以及使用JavaScript正则表达式的一些特殊字符

时间:2017-06-14 11:08:50

标签: javascript regex unicode ecmascript-6

我在使用regexp时遇到了一些问题。我试图删除所有特殊字符,但没有“ - _”它可以工作但只有拉丁字母。有人可以帮我怎么做。

我需要删除所有没有字母编号和“ - _”。

例如

string = "asd;'\;['/\''сдфсдфявэ';щш;э'սդֆսդֆսդֆ«»խլխլ";

1 个答案:

答案 0 :(得分:2)

您可以使用



var s = "՞։՜asd;'\;['/\''сдфсдфявэ';щш;э'սդֆսդֆսդֆ«»խլխլ";
var ret = s.replace(/[^\wа-яёА-ЯЁ\u0561-\u0587\u0531-\u0556-]+/g, '');
document.body.innerHTML = ret;




正则表达式匹配多次出现(由于g修饰符)1次或多次(由于+量词)字符不是:

  • \w - ASCII字母,数字或_
  • а-яёА-ЯЁ - 俄文字母
  • \u0561-\u0587 - 亚美尼亚大写字母
  • \u0531-\u0556 - 亚美尼亚小写字母
  • - - 连字符。

请参阅模式中使用的this Unicode reference on Armenian letter ranges