Ссылка для поиска в Textarea от Javascript - PullRequest
2 голосов
/ 12 октября 2011

У меня очень простой вопрос.Я просто хочу найти, есть ли какая-либо ссылка, содержащаяся в текстовой области.

<script type="text/javascript">
function valid()
{
var txtt=document.forms["forma"]["txtarea"].value;
var ss=txtt.search("href");
if (ss == "0"){
alert("You've link in your textarea! We don't allow that");
return false;
}
}
</script>

<form action="" method="POST" onsubmit="return valid()" name="forma">
<textarea name="txtarea"></textarea>
<input type="submit" />
</form>

Пример данных.Я хочу, чтобы выше не проходили и возвращали false.

Hi! I bookmarked your site http://www.myspamdata.com

или

<a href="http://myspam.com">My spam link</a>

Ответы [ 2 ]

0 голосов
/ 12 октября 2011

Вы можете использовать регулярное выражение следующим образом:

var regex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;

и проверить свою входную строку по нему, чтобы увидеть, есть ли такие ссылки указаны.

ДляНапример, найдите его, используя:

var regex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
var exists = text.search(regex);
0 голосов
/ 12 октября 2011

Я думаю, этого решения достаточно для вашей проблемы:

var txtt=document.forms["forma"]["txtarea"].value
var ss=txtt.search('http://');
if(ss != -1) {
    alert("...");
    return false;
}

Вы просто ищете строку "http://". Но есть одна проблема с этим общим решением. Вы можете легко обойти такие" Javascript "защиты". Поэтому вам нужно проверить ссылки в коде сервера и отклонить их.

...