2016-04-28 14 views
0

私は正確に定期的に書面で私を助けてください...それは1408-464-1680や463237062などの9419002345はなく番号などの数値をフォーマットされたコード使用正規表現なし

 <asp:TemplateField HeaderText="Phone" SortExpression="Phone"> 
      <ItemTemplate> 
      <asp:Label ID="lblPhone" runat="server"> 
       <%# Regex.Replace(Eval("Phone").ToString(), @"(\d{3})(\d{3})(\d{4})", "($1)-$2-$3") %> 
      </asp:Label> 
     </ItemTemplate> 
     </asp:TemplateField> 

の次の行を使用しています表現。

答えて

1

これは、10桁の数字のときに正規表現が一致するためです。あなたの463237062のみ9

あなたはアルゴリズムをしなければならないが、あまりにも9桁の数字に一致することができた、このような例:

@"(\d{1,3})(\d{3})(\d{4})" 
1

あなたはこれを試すことができます。 (\d{10})は10個の数字 OR 4 digitsを比較します - 3 digits-4 digits

(\d{10})|(\d{4}-\d{3}-\d{4}) 

必要に応じて桁数を調整します。