2016-05-25 27 views
-1

フォームにCommentというテキストボックスがあります。ユーザーが自分のコメントを入力して保存ボタンをクリックした後、このコメント文字列から、完全停止、カンマ、角括弧などの無効な文字を検索したい。 文字列にこれらの文字のいずれかが含まれている場合、例外をスローしたい。無効な文字のチェック文字列

私はJavaScriptで、RegularExpressionValidatorを使用し、ValidationExpression="^[a-zA-Z0-9]*$"で検証を確認できますが、どのようにコードの背後でそれを行うことができますか?

今はコメントが空白になっているかどうかを確認するだけですが、コメントに数字や文字以外の文字が含まれているかどうかを確認するにはどうすればよいですか?

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

を使用して同じロジックであるあなたはRegex.Matchをお探しですか? https://msdn.microsoft.com/en-us/library/twcw2f1c(v=vs.110).aspx –

+0

C#にもRegexがあります。https://msdn.microsoft.com/de-de/library /3y21t6y4%28v=vs.110%29.aspx –

+0

はい正規表現は最も適したソリューションです。 – Roshan

答えて

1

それは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

'if(!Regex.IsMatch(txtComment.Text、@"^[a-zA-Z0-9] * $ "))'は短い実装です –

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); 
    } 
} 
関連する問題