Поле для комментариев, как Twitter - PullRequest
2 голосов
/ 14 декабря 2011

Я пытаюсь добиться чего-то вроде поля для комментариев на веб-сайте Twitter.Я хочу установить идеальное регулярное выражение, которое может включать формат URL, например, https: //www.abc.com, abc.com, http://abc.com и www.abc.com.Это должно уменьшить только 20 символов от общего ограничения текстового поля 140 символов.После 140 символов пользователю не разрешается вводить.

Я нашел хороший вариант от github, но он не обладает всеми этими функциями, и я пытаюсь исправить его, но все равно не удается.Здесь я дал ту же ссылку для вашей ссылки.http://jsfiddle.net/FUADn/1/

Что по-прежнему не работает для меня:

1) Невозможно отслеживать URL-адреса, такие как: "abc.com", "www.abc.com" и "http://abc.com"

2) Невозможно ограничить набор текста после 140 символов. Он продолжает набор текста и отображает текст красным цветом

Может ли кто-нибудь из вас помочь мне с этим, пожалуйста

1 Ответ

0 голосов
/ 15 января 2012

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

((http|https):\/\/)?(www\.)?([A-Za-z0-9$_.+!*\(\),;/?:@&~=-])+(\.[A-Za-z0-9]{2,})?(\.[A-Za-z0-9]{2,4})  

Я не уверен, будет ли этого достаточно для вашего случая, но вы можете попробовать.

Что касается второго вопроса, вы можете использовать event.preventDefault () .Например:

$("#post-msg").keypress(function (e) {
    var a=$("#post-msg").val().length; 

    if (a > 140) {
        e.preventDefault();
    }
    // ...
}
...