2011-09-09 3 views
0

この正規表現を拡張して、文字のないスペースを削除する必要があります。私たちはasp:RegularExpressionValidatorを使用してASP.NET検証を使用しているので、replaceメソッドを使用することはできません。replaceメソッドを使用せずに正規表現に空白の削除を追加する

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

HREコード

<asp:TextBox ID="tbBIEmailAddress" runat="server" CssClass="inpText" MaxLength="50" /> 

<asp:RequiredFieldValidator id="reqValBIEmail" runat="server" ControlToValidate="tbBIEmailAddress" Display="Dynamic" ValidationGroup="Checkout">*</asp:RequiredFieldValidator> 

<asp:RegularExpressionValidator id="regValBIEmail" runat="server" ControlToValidate="tbBIEmailAddress" ValidationGroup="Checkout" ValidationExpression="\^w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$">*</asp:RegularExpressionValidator> 
+0

を私は空白のための規定を参照して、ちょうど開始/終了アンカーを追加し、 '^ $'または私は理解していないではないのですか? – sln

+0

はい、それは私が望んでいない空白を受け入れる – Mohsen

答えて

0

私は.NETがキャプチャバッファの可変数の概念を持っていることを知っている:

は、ここに私の正規表現です。
たとえば、(asw[^p]+)*は、
がデータを配列として格納するキャプチャバッファ1オブジェクトを作成する必要があります。

しかし、そのことはこの場合に反応する方法をクリア:(?:([-.]\w+)|\s+)*
明らか\sキャプチャバッファの範囲になく、
グループ1キャプチャバッファオブジェクト列に含まれるべきではありません。実際には、キャプチャのプロセスは
の空白を取り除きます。しかし、私はこれをテストしなかった。

私は間違った質問を読んでいる可能性があります。私が知っている限り、あなたはグループ化のためにキャプチャグループを使用しています。

はあなたのサンプルは、タイプミスがある可能性があります

を追加しました。
この:
"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"

その可能性あなたのスペースの問題を説明したが、おそらくないこと:
"\^w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
は、おそらくこれでなければなりません。

+0

これは私の正規表現ではありません。ごめんなさい。私は本当に何をすべきか分からない。私はいくつかのコードを追加しました – Mohsen

+0

私は電子メールアドレスのスペースを受け入れることを防ぐために何かしています。それは良いではない後続のスペースで電子メールを受け取ります – Mohsen

関連する問題