Приветствую!
На странице есть форма отправки сообщений.
На сервере добавил проверку вводимого содержания на наличие элементов ссылки и все элементы ссылок или названия доменных имен вырезаются. Если сообщение содержало только ссылку, то сохраняется пустое сообщение, что не есть хорошо.
Для PHP использую выражение:
$exge = '@((https?://)?([-\\w]+\\.[-\\w\\.]+)+\\w(:\\d+)?(/([-\\w/_\\.]*(\\?\\S+)?)?)*)(?:[?&][^?$]+=[^?&]*)*@i';
Хотелось бы, что бы выражение можно было переписать под использование в скрипте. Это выражение очень хорошо режет любые варианты ссылок и названия доменных имен.
Нужно сделать проверку формы скриптом на странице, на содержание элементов ссылки и если такие элементы есть в поле textarea, тогда выводить сообщение "Ссылки запрещены" и сообщение не должно отправляться.
Сейчас на странице есть скрипт, который проверяет количество вводимых символов, подсчитывает их и если символов 0 или больше 200, тогда выводит под формой в dstype="error_msg" сообщение "Вы не указали вопрос" или "Вопрос не должен превышать 200 символов" и
сообщение не отправляется. Это правильно. Если ошибок в форме нет, тогда сообщение должно отправляться.
Нужно, чтобы сообщение "Ссылки запрещены" выводилось в том же dstype="error_msg", если это не будет мешать выводу других сообщений об ошибке количества символов.
Заранее спасибо, откликнувшимся!
<form method="post" id="save_consult_form2" action='goods/save_consult'>
<div class="comment-add"><textarea id="textfield3" name="content" type="text"></textarea></div>
<div class="comment-act">
<a href="JavaScript:void(0);" dstype="consult_submit" class="dss-btn">Отправить</a>
</div>
<span id="consultcharcount"></span> <span dstype="error_msg"></span>
</form>
$(function () {
$('a[dstype="consult_submit"]').click(function () {
$('#save_consult_form2').submit();
});
$('#save_consult_form2').validate({
errorPlacement: function (error, element) {
$('span[dstype="error_msg"]').append(error);
},
submitHandler: function (form) {
ds_ajaxpost('save_consult_form2');
},
onkeyup: false,
rules: {
content: {
required: true,
maxlength: 200
}
},
messages : {
content : {
required : 'Вы не указали вопрос',
maxlength:'Вопрос не должен превышать 200 символов.'
}
}
});
// textarea подсчет символов
$("#textfield3").charCount({
allowed: 200,
warning: 10,
counterContainerID: 'consultcharcount',
firstCounterText: 'Вы можете ввести ещё до',
endCounterText: 'символов.',
errorCounterText: 'Текст вопроса превышен на'
});
});