2017-03-22 4 views
1

'ab123cd'、 'xy12345'、 'a567891'のような文字列を受け入れるテキストボックスを検証する必要があります。この要件を満たす正規表現を作成するにはどうすればよいですか?受け入れ文字列の長さは7文字を超えてはなりません。文字列内に特殊文字または空白を使用しないでください。C#正規表現アルファベットと数字のみを使用できますが、特殊文字やスペースは使用できません

while(textbox.text does not match the requirement) 
{ 
MessageBox.Show("Please enter Valid string"); 
prompt.ShowDialog(); //displaying a Dialog box that shows a textbox 
} 

上記のコードを書くのにも役立ちます。 ありがとうございました!

+0

[C#では特殊文字のチェックが許可されていません](http://stackoverflow.com/questions/13062911/check-for-special-characters-are-not-allowed-in-c-sharp) – LuFFy

答えて

2

編集:

  • (?=.*[a-zA-Z])は任意のアルファベット
  • (?=.*[0-9]
  • )があるかどうかを確認するために先読み

    1. ^マークが位置に開始: UPDATED あなたはこの

      ^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{1,7}$ 
      

      説明を試すことができます数字があるかどうかを調べる

    2. [a-zA-Z0-9] AZ、AZまたは0-9
    3. {1,7}手段は文字列のみを使用でき

    Demo

    +0

    こんにちはリズワン!私はこれを試してみましたが、それは「1234567」を受け入れて、「ABCDEFG」はまた、私は唯一の「A123456」や「ABC1234」のような英数字の文字列を受け入れるように、それを制限する必要があるかitcanが、私は答えを更新した –

    +0

    @SuryaPrakashKamarthi「をabc123d」こと、してください見て –

    +0

    @Thank You Rizwan !! –

    1

    の1-7倍

  • $マークの終わりを発生することがあります間の任意の文字を意味し、 ^\w{1,7}$

    1と7の間のアルファベットカルchars。長さの制限を簡単に調整できます。

    あなたが大きい制御、他の許可された文字を好む場合は、使用: ^[a-zA-Z0-9]{1,7}$ので、C#の場合

    ように注意して、より寛容である\ wは、あなたがRegex.IsMatchメソッドを使用することができるので:Regex.IsMatch Methodeの(システム.Text.RegularExpressions):https://msdn.microsoft.com/fr-fr/library/system.text.regularexpressions.regex.ismatch(v=vs.110).aspx

    非常に使いやすい。

  • +0

    \ wには_も含まれており、正規表現コンパイラによって異なる場合があります。 –

    +0

    次回は-1赤いボタンの上にジャンプする前に最後まで答えをお読みください。あるいは、あなた自身の役に立つ答えを投稿することもできます。 – AFract

    関連する問題