我想创建一个匹配的正则表达式:
- 带空格的字母数字 - 这些符号和字母
á é í ó ú ñ Ñ ,.( ) ! - + % $
我试过这个,但它不符合我的需要:
[\w áéíóúñÑ,.\(\)\!\-\+\%\$]
这个正则表达式有什么问题?
我正在使用knockoutjs进行敲除验证
.extend({pattern:{message:"No valid.",params:"[\w áéíóúñÑ,.\(\)\!\-\+\%\$]"}});
在chrome,firefox,IE10和Safari浏览器上测试。
答案 0 :(得分:2)
您需要转义特殊的\
转义字符才能在字符串中放置实际的\
。此外,您不需要转义所有这些字符,只需要在括号内具有特殊含义的字符。
尝试:
"[\\w áéíóúñÑ,.()!\\-+%$]"
这个传球----> “||°°dafsasdf”但这并没有通过有效的---> “||°°”
哦,这是因为现在只要字符串中的单个字符与正则表达式匹配,它就会通过。您必须使用已定义的开始和结束创建整个模式匹配。
"^[\\w áéíóúñÑ,.()!\\-+%$]*$"