验证MVC中的字母数字

时间:2014-12-16 22:19:53

标签: javascript c# regex model-view-controller

我使用DataAnnotation来验证MVC中的AlphaNumeric字符是否为文本框。它工作正常,但当我在文本框中输入 '<script type='text/javascript'>alert('This site sucks!');</script>' 时,它无法正常工作。

  [RegularExpression("^([a-zA-Z0-9 .&'-]+)$", ErrorMessage="Illegal character found in name. Please enter a valid name")]
    public string Name { get; set; }

以下是我的观看代码

  @Html.Raw(Html.TextBoxFor(p => p.Name, new { @class = "k-textbox", @style = "width:400px" }))
  @Html.Raw(Html.ValidationMessageFor(p => p.Name))

一些帮助可能会有所帮助

2 个答案:

答案 0 :(得分:1)

答案是你无法验证上面的字符串。 因为它是一个JavaScript注入攻击。 所以我刚刚处理了HttpRequestValidationExpection。

答案 1 :(得分:0)

这应匹配该字符串:[<>A-Za-z0-9'\(\)/= !;]+
您可以查看此网站,以便调试正则表达式:http://www.regexr.com/