2010-06-22 3 views
0

Я нашел Regex, проверяющий, отправлен ли текст TextBox по электронной почте.Regex test для 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 

Я хочу, чтобы это изменить, так что это будет проверить, если текст набран только Numbers?

Как я могу это сделать?

+3

Регулярное выражение для проверки только целых чисел равно «^ [0-9] + $". Возможно, я не понимаю ваш вопрос, но что тестирует только цифры, связанные с тестированием адресов электронной почты? – NYSystemsAnalyst

+0

Нет, это не так. Я нашел это решение, но я этого не понял. –

+1

^= Начало строки1. [0-9] = диапазон символов, в данном случае чисел, от нуля до девяти. + = Матч минимум 1, но может быть более одного. $ = Конец строки. Следовательно, регулярное выражение^[0-9] + $ будет соответствовать любой строке текста, содержащей хотя бы одну цифру, но будет запрещать любые нечисловые символы. – NYSystemsAnalyst

ответ

2

Если вы хотите, чтобы текст содержал только цифры, используйте простой ^\d+$ или ^\s*\d+\s*$, чтобы разрешить некоторые пробелы в начале и конце.

Чтобы разрешить отрицательные числа: ^-?\d+$ или ^[+-]?\d+$, чтобы номера, как +12

Для десятичных чисел: ^[+-]?\d+(\.\d+)?$ (это позволит 0.54 но не .54)

Это один позволит вещи, как .54

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

Вы можете посмотреть на this answer для окончательного рассмотрения парсинговых номеров с регулярными выражениями.