Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: экранирование скобок на JS
Форумы портала PHP.SU » PHP » Регулярные выражения » экранирование скобок на JS

Страниц (1): [1]
 

1. kuzya - 16 Июля, 2007 - 22:46:19 - перейти к сообщению
Есть следующий код:
Цитата:

nickTest = "[^a-zA-Z0-9]";
var regex = new RegExp(nickTest,"gi");
if (regex.test(nick) )
{
error = true;
errors.innerHTML += '<font color="red" >Enter valid nick</font><br>';
}

как видите - если в переменной nick есть что то кроме букв или цифр то пишется ошибка.
Но ведь ник может состоять не только из этих символов? Например [bbbb]my_nick
Что бы регулярка пропускала такие ники я добавил туда \[\]
получилось следующее:
Цитата:

nickTest = "[^a-zA-Z0-9\[\]]";
var regex = new RegExp(nickTest,"gi");
if (regex.test(nick) )
{
error = true;
errors.innerHTML += '<font color="red" >Enter valid nick</font><br>';
}

но это выражение теперь признаёт валидным ник даже с ковычками, со знаками % и т.д.
а вот если вставить в ник квадратную скобку то пишет ошибку.
Скажите плиз как можно проэкранировать квадратные скобки (и круглые) что бы ники типа [bbbb]my_nick нормально проходили

 

Powered by ExBB FM 1.0 RC1