用于字母数字,空格和符号的正则表达式,与我需要的不匹配

时间:2013-09-24 00:14:28

标签: javascript regex

我想创建一个匹配的正则表达式:

- 带空格的字母数字 - 这些符号和字母

á é í ó ú ñ Ñ ,.( ) ! - + % $

我试过这个,但它不符合我的需要:

[\w áéíóúñÑ,.\(\)\!\-\+\%\$]

这个正则表达式有什么问题?

我正在使用knockoutjs进行敲除验证

.extend({pattern:{message:"No valid.",params:"[\w áéíóúñÑ,.\(\)\!\-\+\%\$]"}});

在chrome,firefox,IE10和Safari浏览器上测试。

1 个答案:

答案 0 :(得分:2)

您需要转义特殊的\转义字符才能在字符串中放置实际的\。此外,您不需要转义所有这些字符,只需要在括号内具有特殊含义的字符。

尝试:

"[\\w áéíóúñÑ,.()!\\-+%$]"
  

这个传球----> “||°°dafsasdf”但这并没有通过有效的--->   “||°°”

哦,这是因为现在只要字符串中的单个字符与正则表达式匹配,它就会通过。您必须使用已定义的开始结束创建整个模式匹配。

"^[\\w áéíóúñÑ,.()!\\-+%$]*$"