Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 02.08.2010, 19:44
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

по поводу проверки на пустую строку: trim + strlen, (ирония) если же ты хочешь уличить пользователя во вставке лишних пробелов, тогда регулярные выражения

textarea не убирает ни пробелы, не переносы строк, ни табуляции. Так что отлаживай, где они у тебя там убираются
Ответить с цитированием
  #12 (permalink)  
Старый 02.08.2010, 19:48
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

ну как проверить строку на наличие непечатаемых символов, и чтобы если в строке нету других символов так возвратить фолс
Цитата:
trim + strlen
проблема в том что оно просто очистит строку и всё таки напечатает пустоту, которая обвёрнута и зарегестрированна как сообщение, то есть не совсем то, тем более если пользователь написал типа " цва " то будет наверно потом "цва" а это не совсем конечно то что хотел видеть пользователь, и ещё от то что связано как сделать чтобы пробел заменялся не один раз например для проверки я поставил к document.getElementById('txAr').value.replace(' ','-') и написал от что
"тест тест тест" а вывело "тест-тест тест" от такие пироги, я только знаю что я тут не правильно сделал и кажется что тут надо не реплейс, ну короче что тут надо?)

Последний раз редактировалось Slawaq, 02.08.2010 в 20:05.
Ответить с цитированием
  #13 (permalink)  
Старый 02.08.2010, 20:07
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

список непечатаемых символов в студию. Как убрать пробельные символы выше сказали
Ответить с цитированием
  #14 (permalink)  
Старый 02.08.2010, 20:18
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

ну я сам хотел бы ВЕСЬ список ну это типа такие как табуляция, перенос строки, пробел, ну я не знаю сколько их ну те которые по сути не отображаются но влияют на строку, да я понял с пробелом но я не понял чего несколько пробелов подряд стираются в один, от код отправки
msg = document.getElementById('txAr').value;
  if(msg){
    msg = 'msg=' + encodeURIComponent(msg.replace(/[\r\n]+/g,'\v').replace(/ +/g,'-'));
    xmlhttp.open("POST","ajax.php",true);
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send(msg);
}

а от ПХП код
<?PHP
if (isset($_POST['msg'])){
echo str_replace('>','&gt;',str_replace('"','&quot;',str_replace("'",'&#39;',str_replace('<','&lt;',$_POST['msg']))))."<hr style='height:1px;background:silver;border:0px'>";
}
?>

и прием
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById('txAr').value = '';
    document.getElementById("commArea").innerHTML+=xmlhttp.responseText;
    }
  }


куда они убегают, я не знаю, может кто с чем-то похожим работал, знает как правильно?
Ответить с цитированием
  #15 (permalink)  
Старый 02.08.2010, 21:07
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Slawaq
проблема в том что оно просто очистит строку и всё таки напечатает пустоту
не обязательно выводить ту же переменную
$s = '...';
$s2 = trim($s);
if( strlen($s2) == 0 )
    echo "обязательное поле";
echo $s;


Сообщение от Slawaq
куда они убегают, я не знаю
для начала выясни в каком месте это происходит. Отлаживай, на клиенте это console.log, на сервере var_dump($var), error_log($var), file_put_contents(dirname(__FILE__).'/.log', var_export($var, TRUE), FILE_APPEND)
Ответить с цитированием
  #16 (permalink)  
Старый 02.08.2010, 21:12
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Slawaq Посмотреть сообщение
но я не понял чего несколько пробелов подряд стираются в один
replace(/ +/g,'-')
не знаю что у вас за проблема пустых сообщений, у меня такой нет и за последние 7 лет сайтов с форумами и сервисами небыло. Не хотите пропускать "такие сообщения" проверяйте регой. А вообще есть такое слово бан. А от дибилов которые придумают писть мат через дефисы или транслитом или иероглифами ваша защита не поможет. проще поставить бан по кол-ву сообщений в секунду, минуту.
Ответить с цитированием
  #17 (permalink)  
Старый 02.08.2010, 21:17
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

Сообщение от x-yuri Посмотреть сообщение
Отлаживай, на клиенте это console.log, на сервере var_dump($var), error_log($var), file_put_contents(dirname(__FILE__).'/.log', var_export($var, TRUE), FILE_APPEND)
я не сильно в этом силён, я не сильно вникаю в роботу своего сервера и я ещё не очень хорошо умею работать на ПХП(так себе, базово пока что)
Ответить с цитированием
  #18 (permalink)  
Старый 02.08.2010, 21:29
Аватар для Slawaq
Профессор
Отправить личное сообщение для Slawaq Посмотреть профиль Найти все сообщения от Slawaq
 
Регистрация: 19.05.2010
Сообщений: 187

Сообщение от Gozar Посмотреть сообщение
не знаю что у вас за проблема пустых сообщений, у меня такой нет и за последние 7 лет сайтов с форумами и сервисами небыло. Не хотите пропускать "такие сообщения" проверяйте регой. А вообще есть такое слово бан. А от дибилов которые придумают писть мат через дефисы или транслитом или иероглифами ваша защита не поможет. проще поставить бан по кол-ву сообщений в секунду, минуту.
та какой бан) это же гостевая книга, там надо только будет поставить задержку между сообщениями, может дето в 1-2 сек. ну короче, от например даже на этом форуме если идёт несколько пробелов подряд так оно его как 1 видит, но при этом если несколько подряд переносов



так всё нормально, а у меня не так и не так, и я не могу понят чего так, или например вконтакте там тоже если подряд идут непечатаемые символы то оно их как один видит.
Тут вдруг я вот что посмотрел, в Опере замена переноса на \v одно и тоже , если выводить это у Оперы, то это как обычный перенос а у всех других браузеров нет! и теперь у меня даже не переносит на новую строку, короче я в шоке всеми этими не большими проблемами, которых очень много! короче у кого есть валидатор или статья по нему для текста на всякие эти СПЕЦ символы, если вообще это есть.?)
Ответить с цитированием
  #19 (permalink)  
Старый 02.08.2010, 22:08
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Slawaq,
То, что вам нужно это RegExp, идите и изучайте, не так уж это и сложно. Они есть и для js и для php.

ps: и излагать мысли тоже подучитесь, вас сложно понять
Ответить с цитированием
  #20 (permalink)  
Старый 02.08.2010, 22:52
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от Gozar
ps: и излагать мысли тоже подучитесь, вас сложно понять
+1
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как передать картинку из javascript в php KIVagant AJAX и COMET 3 12.05.2010 11:54
Защита от вторжения в php vova_b Javascript под браузер 7 13.12.2009 22:38
Строка со спецсимволами (взаимодействие с PHP) Ilg Общие вопросы Javascript 3 05.06.2009 13:45
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23