Как сделать обрезку регулярного выражения перед проверкой? - PullRequest
6 голосов
/ 27 мая 2011

У меня есть RegularExpressionValidator на моей странице, который проверяет электронную почту, используя этот

    <asp:RegularExpressionValidator ID="valEmailExpression" 
    runat="server" 
ErrorMessage="Your email address does not appear to be of a valid form. (eg: your.name@yourorganisation.com)"
    ControlToValidate="txtUsername" EnableClientScript="false" 
    ValidationExpression=**"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"**
    Display="None"></asp:RegularExpressionValidator>

Это работает для таких вещей, как "hello@hello.com"

, но если пользователь вырезает и вставляетпо электронной почте, иногда вы получаете такие вещи, как "hello@hello.com" или "hello@hello.com".

Можно ли указать в регулярном выражении, что я хотел бы обрезать пробелы перед проверкойадрес электронной почты?

Ответы [ 3 ]

5 голосов
/ 27 мая 2011

Вы можете просто добавить проверки пробелов в свое регулярное выражение:

\s*\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*\s*
1 голос
/ 27 мая 2011

Попробуйте это:

http://www.regular -expressions.info / examples.html

Обрезка пробелов

Вы можете легко обрезать ненужные пробелы изначало и конец строки или строк в текстовом файле с помощью регулярного поиска и замены.Найдите ^ [\ t] + и замените ничем, чтобы удалить начальные пробелы (пробелы и символы табуляции).Найдите [\ t] + $, чтобы обрезать конечные пробелы.Сделайте оба, объединяя регулярные выражения в ^ [\ t] + | [\ t] + $.Вместо [\ t], который соответствует пробелу или табуляции, вы можете расширить класс символов до [\ t \ r \ n], если вы также хотите обрезать разрывы строк.Или вместо этого вы можете использовать сокращение \ s.

надеюсь, это вам поможет.

0 голосов
/ 27 мая 2011

Я не верю, что вы можете обрезать пропуски в регулярном выражении, хотя вы можете сначала использовать функцию обрезки для строки: http://msdn.microsoft.com/en-us/library/t97s7bs3(v=vs.80).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...