1

我有 asp.net RegularExpressionValidator
ValidationExpression="^[a-zA-Z\?*.\?!\@#\%\&\~`\$\^_\,()\//]{1,30 }$" /> 它将支持除脚本标签之外的任何字母数字字符。现在它不支持除英语以外的任何其他语言。

我想修改这个正则表达式以支持阿拉伯字符。请帮我如何修改这个表达式..

提前致谢..

4

2 回答 2

1

您基本上需要将您的正则表达式从白名单更改为黑名单。所以你想检查你不想允许的字符。您可以通过在左括号内使用 ^ 开始您的正则表达式来实现此目的。所以

ValidationExpression="[^\?*.\?!\@#\%\&\~`\$\^_\,()\//]"

将传递不包含表达式中字符的任何字符串。

于 2012-05-24T15:50:07.420 回答
0

您可以在正则表达式中添加阿拉伯字符;他们匹配自己。Unicode 的一个问题是阿拉伯数字、标点符号和装饰物分散在代码块中,因此您可能必须添加您正在寻找的特定符号:

ValidationExpression="^[a-zA-Z\?*.\?!\@#\%\&\~`\$\^_\,()\//\u0621-\u063F\u066E-\u06D3]{1,30}$"
于 2012-05-24T16:59:02.920 回答