2010-06-22 2 views
0

J'ai trouvé un Regex qui vérifie si le texte transmis à un TextBox est un e-mail.Test Regex pour NUMBERS

If Regex.IsMatch(email.Text, "^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))" + "(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$") _ 
Then 
// True 
End If 

Je veux changer cela, il testerai si le texte tapé est juste Numbers?

Comment puis-je faire cela?

+3

Une regex pour tester uniquement les entiers est "^ [0-9] + $". Peut-être que je ne comprends pas votre question, mais qu'est-ce que le test pour les chiffres a à voir avec le test des adresses e-mail? – NYSystemsAnalyst

+0

Non, vous n'êtes pas. J'ai trouvé cette solution, mais je ne l'ai pas comprise. –

+1

^= Début de la ligne1. [0-9] = Une plage de caractères, dans ce cas, de zéro à neuf. + = Correspond au moins à 1, mais pourrait être supérieur à un. $ = Fin de ligne. Par conséquent, l'expression régulière^[0-9] + $ correspondra à toute ligne de texte entière contenant au moins un chiffre, mais interdira tout caractère non numérique. – NYSystemsAnalyst

Répondre

2

Si vous voulez vous assurer que le texte ne contient que des chiffres, utilisez un simple ^\d+$ ou ^\s*\d+\s*$ pour autoriser certains espaces au début et à la fin.

Pour permettre des nombres négatifs: ^-?\d+$ ou ^[+-]?\d+$ pour permettre nombres comme +12

Pour les nombres décimaux: ^[+-]?\d+(\.\d+)?$ (cela permettra 0.54 mais pas .54)

Celui-ci permettra à des choses comme .54

^[+-]?(\d+(\.\d+)?|\.\d+)$ 
0

Vous pouvez consulter this answer pour un traitement définitif des numéros d'analyse avec des expressions régulières.