入力フォームでE-mailやURLの入力をチェックするのに、正規表現を使って行うけど、ネットを探して見つけたサンプルが、全然使えなくて大変だった。笑
ただでさえ、C#のサンプルってあまりないのに。。。
MSDNのサイトのサンプルさえも使えなくて。。。
どのサンプルもURLチェックで、「-」(ハイフン)付きのURLがどうしても通らなくて。。。
正規表現の予約語で<host>とか<domain>とかってあるけど、あれって、どんな文字までチェックしてるんだろう。。。
RegularExpressionValidatorツールを使えば、まぁ簡単にE-mailやURLのチェックもしてくれるんだろうけど、実装上どうしても使えないときに手組みしないといけなくて。。。
でも、このRegularExpressionValidatorツールのプロパティ「ValidationExpression」に「正規表現エディタ」というのがあったので、こちらを使ってサンプルを実装。
VisualStudioってほんと便利だなぁ~。
正規表現、昔勉強したけど、完全に忘れていきそう。笑
E-mailチェックの正規表現サンプル
//Emailチェック System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); System.Text.RegularExpressions.Match m = regex.Match("対象文字列"); if (!m.Success) { string errorMsg = "E-Mailの入力が正しくありません。"; }
URLチェックの正規表現サンプル
//URLチェック System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"); System.Text.RegularExpressions.Match m = regex.Match("対象文字列"); if (!m.Success) { string errorMsg = "E-Mailの入力が正しくありません。"; }
[tmkm-amazon]4873113598[/tmkm-amazon]