Преобразование PHP Regex в Javascript (или каковы различия?) - PullRequest
3 голосов
/ 15 июля 2009

У меня есть генератор форм, который использует (совместимые с Perl) регулярные выражения для проверки бэкэнда. Поскольку вся форма генерируется динамически, было довольно просто добавить немного jquery и затем использовать те же регулярные выражения для проверки на стороне клиента перед отправкой.

Однако, в некоторых случаях регулярные выражения не ведут себя в Javascript, я подозреваю, что либо они не экранированы должным образом, либо содержат недопустимые символы и т. Д. Любой знает способ убедиться, что это же регулярное выражение будет работать на обеих платформах?

Ответы [ 3 ]

2 голосов
/ 15 июля 2009

Читайте о специфических деталях реализации Регулярных выражений в Javascript .

JavaScript реализует стиль Perl регулярные выражения. Тем не менее, ему не хватает целый ряд расширенных функций доступны в Perl и других современных регулярные выражения вкусов

Во-первых, символ / обозначает начало и конец регулярного выражения в Javascript, поэтому вам может потребоваться его избежать, но это зависит от того, как вы создаете экземпляр регулярного выражения в Javascript (с буквенной нотацией или RegExp class).

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

Вы можете использовать бесплатный пробный период RegexBuddy . (Я думаю, что есть бесплатная пробная версия, но если нет, вы все равно можете вернуть свои деньги.) Это позволяет вам вводить регулярные выражения, проверять их и конвертировать во многие целевые языки. Это может помочь вам точно определить нужную вам информацию.

0 голосов
/ 15 июля 2009

Функции PHP preg_ * и JavaScript используют Perl-совместимые регулярные выражения. В принципе, они должны поддерживать один и тот же набор регулярных выражений.

Вы действительно должны привести несколько примеров того, что не работает, потому что весьма вероятно, что ваша проблема связана с экранированием / обработкой строк.

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