1

我在一个西班牙网站上工作,我在那个网站上进行了搜索,我们不允许在键盘上发送这些特殊字符(!@ # $ % ^ & * ( ) _ + - = [ ] \ { } | ; ,' : " ./<>? )。在网站的英文版中,我们term.replace(/\W|_/g," ");在 java 脚本中做了类似的事情。这允许所有字母表(大写和小写)和数字并过滤掉那些特殊字符.

同样,我应该如何发送所有英文/西班牙文字母、数字并排除这些字符。

4

1 回答 1

2

将正则表达式更改为以下内容应该可以工作:

/[^\wáÁéÉíÍóÓúÚñÑ]|_/g

或者正如 MДΓΓ БДLL 在评论中指出的那样:

/[^\wáéíóúñ]|_/gi

^字符类开头的 否定它,因此可以将其理解为“匹配所有不在 中的字符,[a-zA-Z0-9_áÁéÉíÍóÓúÚñÑ]并且也匹配_”。

作为旁注,您可以将当前的正则表达式简化为/[\W_]/g.

于 2012-04-19T18:32:23.897 回答