Выражение для действительного номера телефона, например (999) 999-9999, будет:
^[\d\s\(\)\-]+$
Это означает, что в нем встречаются цифры от 0 до 9, скобка () - минус и пробелы. Все они могут происходить один или несколько раз, поэтому (() 3-4 4) также будет правильным. Но так как вы хотите, чтобы символы spl встречались везде, это было бы уместно.
Возможно, используйте проверку свойства, которая находится в пространстве имен System.ComponentModel.DataAnnotations. Свойство будет выглядеть так:
[RegularExpression(@"^[\d\s\(\)\-]+$")]
public string NumbersAndSpecialChars { get; set; }
Asp-Control, использующий выражение, будет выглядеть так (как ответил Роб):
<asp:TextBox ID="TextBox1" runat="server"
Style="z-index: 100; left: 259px; position: absolute; top: 283px"
ValidationGroup="check"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="You must enter a phone number in the form of (999) 999-9999."
Style="z-index: 101; left: 424px; position: absolute; top: 285px"
ValidationExpression="^[\d\s\(\)\-]+$" ValidationGroup="check"/>