javascript正则表达式

时间:2010-04-03 09:21:56

标签: javascript regex

我怎么能不允许这些字符:

  

\ /“'[] {} | ~` ^&

使用javascript正则表达式模式?

3 个答案:

答案 0 :(得分:1)

检查字符串是否包含以下字符之一:

if(str.match(/[\\\/"'\[\]{}|~`^&]/)){
  alert('not valid');
}

验证整个字符串,从头到尾:

if(str.match(/^[^\\\/"'\[\]{}|~`^&]*$/)){
  alert('it is ok.');
}

答案 1 :(得分:0)

仅排除那些字符(带反斜杠的前缀)

const isNotSpecial = /[^\\\/\"\'\[\]\{\}\|\~\`\^\&]/.test(myvalue);

通常排除所有特殊字符

const isNotSpecial = /[^\W]/.test(myvalue);

答案 2 :(得分:-2)

另一种解决方案是将这些特殊字符编码为正则表达式格式。

使用软件包regexp-coder

const { RegExpCoder } = require('regexp-coder');

console.log(RegExpCoder.encodeRegExp('a^\\.()[]?+*|$z'));
// Output: 'a\^\\\.\(\)\[\]\?\+\*\|\$z'