【发布时间】:2015-09-11 11:20:29
【问题描述】:
我有一个 asp.net 文本框,它必须接受数字、字母和一小组特殊字符:[~],[/],[.], [_] and [-]
所以我创建了正则表达式
([A-Za-z0-9\~.\-\/_ ])
并作为
应用于文本框<dx:ASPxTextBox runat="server" ID="txtParams" Width="220px" ClientEnabled="True">
<ValidationSettings
ValidationGroup="group1"
CausesValidation="true">
<RequiredField IsRequired="True" ErrorText="<%$Resources:Resources, RequireValidationMessage %>" />
<RegularExpression ErrorText="<%$Resources:Resources, ValidateElementsMessage %>" ValidationExpression="[A-Za-z0-9\~.\-\/_ ]" />
</ValidationSettings>
</dx:ASPxTextBox>
当我在regexhero 上测试这个正则表达式时,它通过了测试数据
/home/File.txt~data_file10~2015-10-10
但我的文本框拒绝它并显示错误消息。 我使用了那个测试器,因为它基于 .net 来消除正则表达式实现的恶作剧,但我在这里。
我的正则表达式错了吗?到目前为止,文本框上还没有进行任何处理。
【问题讨论】:
-
尝试使用
"[A-Za-z0-9~./_ -]"。 -
文本框上的测试数据仍然失败
-
也许这个值需要整个输入来匹配。试试
^[A-Za-z0-9~./_ -]+$。 -
你试过我建议的正则表达式了吗?我认为它应该可以工作,因为a similar one 工作了。
-
非常感谢,我做到了。现在,你能做出一个正确的答案让我接受吗?