Regex avec des chiffres et des caractères spéciaux, mais pas de lettres

Je suis en train de faire une regex qui accepte une entrée avec tout décimal(de 0 à 9, +, * ou # mais ne devrait pas accepter toutes les lettres(a-z).

donc les nombres comme

  • #192#
  • *31#+32475728966
  • 0479266315
  • +32495959511

devrait être acceptée.

La regex n'est pas valide s'il y a une lettre dans la chaîne.

  • #192#abbef
  • a0479266315

C'est la regex que j'ai jusqu'ici:

private const string PhoneNumberRegex = "((\\d)|(\\*)|(\\#)|(\\+))?";

private bool IsValid(inputString)
{
    //Accept * # + and number
    Match match = Regex.Match(inputString, PhoneNumberRegex, RegexOptions.IgnoreCase);
    return match.Success;
}

Mais cette expression renvoie également vrai sur #192#abbef

Comment puis-je résoudre ce problème?

InformationsquelleAutor Robby Smet | 2013-12-20