Никогда не пользовался в JS и Google не помог. Вот эта зараза всегда true возвращает, просто головой об стенку :evil:. [js] var regexp = new RegExp( '\\d{2}' ); var string = '123'; if( regexp.test( string ) ) return true; else return false; [/js] P.S. jQuery и другие фреймворки не предлагать.
DZEN всё очень просто. в своём регулярном выражении ты проверяешь (буквально) "есть ли в данной строке две подряд идущие цифры" на что он тебе всегда выдаёт тру. логично? регулярку нужно немного переделать в вид "в данной строке ВСЕГО ДВЕ ЦИФРЫ и ничего более" - var regexp = new RegExp('^\\d{2}$');
Вооот, здесь новая проблема. Когда передаю в событие onkeyup выражение, то к нему ещё надо добавлять двойной бэкслэш, иначе приходит в функцию вообще без них. [js] onkeyup="pattern_check('\\d{2}')" [/js]
А почему бы не держать в функции уже готовое выражение? Но можно конечно передавать HTML: onkeyup="pattern_check(/\d{2}/)" и всё будет нормально
Михаил, это был просто пример, выражения будут подгружатся с помошью js-ajax. В статичном html и на чистом процедурном php пример отличный. А вот с фреймворком или просто шаблонизатором, чёрт его знает как оно будет выводить страницу, я как раз с этим уже столкнулся, и надо сказать столкновение не из приятных .
php не в процедурах по-мойму. Так, а что случилось каким фрэймворком ты пользуешься? и что там происходит такого? а выражения будешь как получать как просто файлы *.js в подгрузке?
Я имел ввиду если стиль программирования процедурный. Выражения подставляются в динамически генерируемые теги input. Пользуюсь Kohana 3.2.0 (http://kohanaframework.org/), один и тот же проект на разных серверах с php 5.2.1 и php 5.3.6. Результат - костыли, и нежелание что-то менять. Самый эпичный '/system/classes/kohana/html.php'. PHP: <?php public static function chars($value, $double_encode = TRUE) { return ( version_compare( PHP_VERSION, '5.2.3', '<' ) ) ? htmlspecialchars( (string) $value, ENT_QUOTES, Kohana::$charset ) : htmlspecialchars( (string) $value, ENT_QUOTES, Kohana::$charset, $double_encode ); } ?> Ещё пользуюсь святым Twig (http://www.twig-project.org/). В результате встроенный кохановский и твиговский шаблонизаторы на выходе дают разный то обрубленный то экранированный текст.
ну да намешал ты конечно. так а обновить пхп никак на другом сервере? или переехать на один? если всё проходит через 2 шаблонизатора то один же не нужен. отключи кохановский. А в этой функции удали нафиг один из вариантов и всё под один будет (я бы так сделал)
Во-первых ничего я не намешал. Если бы можно было обновить/переехать/дать звиздюлей всем неверным, наверное я бы это уже давно сделал. Есть один сервер с которого получаю строки с регулярками, и два разных сайта, которые эти строки используют. На одном twig, на другом kohana. Так вот они по-разному строки вставляют в html. Регулярки есть сложные, и все приходиться тестировать как они проходят экранирование. Я просто хотел предупредить, если кто с таким ещё не сталкивался.