0

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

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

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

我试过这个,但它不像我需要的那样匹配:

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

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

我正在使用带有敲除验证的 knockoutjs

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

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

4

1 回答 1

2

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

尝试:

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

这个通过---->“||°°dafsasdf”但是这没有通过有效--->“||°°”

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

"^[\\w áéíóúñÑ,.()!\\-+%$]*$"
于 2013-09-24T00:23:14.693 回答