检查无效字符的字符串

时间:2016-05-25 15:12:59

标签: c# asp.net string validation textbox

我在表单中有一个名为Comment的文本框。在用户输入他们的评论并单击保存按钮后,我想在此评论字符串中搜索任何无效字符,例如句号,逗号,括号等。 如果字符串包含任何这些字符,那么我想抛出异常。

我知道在javascript中您可以使用RegularExpressionValidator并使用ValidationExpression="^[a-zA-Z0-9]*$"检查验证但是如何在后面的代码中执行此操作?

现在我只是检查评论是否为空,但如何检查评论是否包含数字和字母以外的其他内容?

if (string.IsNullOrEmpty(txtComment.Text))
{
    throw new Exception("You must enter a comment");
}

2 个答案:

答案 0 :(得分:3)

使用Regex

的逻辑相同
Regex regex = new Regex(@"^[a-zA-Z0-9]*$");
Match match = regex.Match(txtComment.Text);
if (!match.Success)
{
    throw new Exception("You must enter a valid comment");
}

答案 1 :(得分:1)

// Basic Regex pattern that only allows numbers, 
// lower & upper alpha, underscore and space
static public string pattern = "[^0-9a-zA-Z_ ]";

static public string Sanitize(string input, string pattern, string replace)
{
    if (input == null)
    {
        return null;
    }
    else
    {
        //Create a regular expression object
        Regex rx;
        rx = new Regex(pattern);
        // Use the replace function of Regex to sanitize the input string. 
        // Replace our matches with the replacement string, as the matching
        // characters will be the ones we don't want in the input string.
        return rx.Replace(input, replace);
    }
}