如何排除特殊字符并允许西班牙语/英语字母?

时间:2012-04-19 18:24:17

标签: javascript regex string-formatting

我正在西班牙语网站上工作,我在该网站上搜索,我们不允许在键盘上发送这些特殊字符(!@#$%^& *()_ + - = [] \ {} |;,':“。/<>?)。在网站的英文版中,我们在java脚本中做了一些像term.replace(/\W|_/g," ");这样的事情。这允许所有的字母表(上下都有) case),并编号并过滤掉那些特殊字符。

以同样的方式,我应该如何发送所有英语/西班牙语字母,数字并排除这些字符。

1 个答案:

答案 0 :(得分:2)

将正则表达式更改为以下内容应该有效:

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

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

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

字符类开头的^会将其否定,因此可以将其视为“匹配[a-zA-Z0-9_áÁéÉíÍóÓúÚñÑ]以内的所有字符,并匹配_”。< / p>

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