不允许输入'和'的正则表达式是什么?
因为当用户输入带有'示例:我是Mr Right - >的文本时它会导致SQL 2008出错。
我知道,我有两个选择:
使用正则表达式的解决方案:
<dx:ASPxTextBox runat="server" EnableClientSideAPI="True" Width="160px" ID="Info"
ClientInstanceName="Email">
<ValidationSettings SetFocusOnError="True">
<RegularExpression ErrorText="Invalid e-mail" ValidationExpression="" />
<RequiredField IsRequired="True" ErrorText="E-mail is required" />
</ValidationSettings>
</dx:ASPxTextBox>
替换解决方案:
Info.Replace("'", "\'");
提前谢谢你, 甜菊
答案 0 :(得分:1)
正则表达式是^[^'"]*$
,它接受除了这两个字符之外的任何内容。
用C#编写:
@"^[^'""]*$"
如果您计划将地址插入数据库,则可能需要删除或转义其他字符。实际上你应该使用自动执行此操作的东西,例如linq-to-sql或entity-framework。
答案 1 :(得分:0)
如果您只是希望用户输入文本,则编写一个简单的正则表达式,不允许用户输入单引号或双引号。
Regex valid = new Regex(@"^[A-Za-z]+$");
if (valid.IsMatch(TextBox.Text))
{
// write code here...
}
else
{
MessageBox.Show("Error","Error");
}
您不需要编写特殊的正则表达式:Regex valid = new Regex(@&#34; ^ [&#39;] * $&#34;);