Странная ошибка при запуске регулярного выражения в IE7 - PullRequest
4 голосов
/ 21 июля 2009

На моей странице asp.net я получил регулярное выражение для проверки правильности пароля. Регулярное выражение

^(?=.*[0-9])(?=.*[a-zæøåA-ZÆØÅ])[a-zA-ZæøåÆØÅ0-9]{6,}$

.. Теперь, он отлично работает в IE8 и FF3, но проверяется на ложь, независимо от того, что я пытаюсь в IE7. Есть какие-нибудь известные ошибки, я должен знать об этом здесь? : S

Заранее спасибо ..

Ответы [ 4 ]

1 голос
/ 21 июля 2009

Вам необходимо закодировать ваши сущности. Попробуйте следующее:

^(?=.*[0-9])(?=.*[a-z\xE6\xF8\xE5A-Z\xC6\xD8\xC5])[a-zA-Z\xE6\xF8\xE5A-Z\xC6\xD8\xC50-9]{6,}$
1 голос
/ 24 июля 2009

Похоже, что IE7 не нравится {6,} в конце строки. Нашел несколько статей об этом в интернете. В любом случае, решение состояло в том, чтобы поместить это в область самостоятельно:)

^(?=.{6,}$)(?=.*[0-9])(?=.*[a-zæøåA-ZÆØÅ])[a-zA-ZæøåÆØÅ0-9]*
0 голосов
/ 20 февраля 2010

У меня также были проблемы с Internet Explorer 7.

Вот то, что я смог использовать, потребовав 8 символов, с цифрой и номером (разрешенные пробелы):

(?!^[0-9]*$)(?!^[ a-zA-Z!@#$%^&amp;*()_+=<&gt;?]*$)^([ a-zA-Z!@#$%^&amp;*()_+=<&gt;?0-9]{8,20})$
0 голосов
/ 21 июля 2009

Похоже, у вас есть некоторые проблемы с кодировкой вашего примера. Если вам абсолютно не нужно иметь его на стороне клиента, я рекомендую использовать CustomValidator, который проверяет, выполняет ли ваша логика через обработчик события OnServerValidate. Проверка на стороне сервера не позволяет использовать странные выражения совместимости браузеров с регулярными выражениями javascript.

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