javascript - 像推特一样的评论框

标签 javascript jquery regex twitter textfield

我想要实现的是类似于 Twitter 网站上的评论框。我想设置一个完美的正则表达式,它可以包含像 http://www.abc.com, abc.com, http://abc.com 这样的 URL 格式。和 www.abc.com。这应该从 140 个字符的总文本字段限制中减少 20 个字符。超过 140 个字符后,用户不应输入。

我从 github 上找到了一个不错的选择,但它没有所有这些功能,我正在尝试修复它,但仍然没有成功。在这里,我提供了相同的链接供您引用。 http://jsfiddle.net/FUADn/1/

仍然不适合我的是:

1) 无法跟踪 url,如:“abc.com”、“www.abc.com”和“http://abc.com”

2) 无法限制输入 140 个字符后,继续输入并显示红色文本

谁能帮我解决这个问题

最佳答案

关于第一个问题,你可以试试这样的正则表达式:

((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();
    }
    // ...
}

关于javascript - 像推特一样的评论框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8503287/

相关文章:

javascript - 在 setInterval 中为匿名函数提供多个参数

javascript - 在 Backbone.js View 中多次引用 div

javascript - 如何解决跨源读取阻止 (CORB) 阻止的跨源响应和跨源错误

正则表达式:替换出现的每个匹配项,但不替换前 8 个字符

javascript - AngularJS:事件回调不会在谷歌地图原生 map 标记上触发

javascript - 在 mac 上使用 cython 和 emscripten 将简单的 python 程序编译为 javascript

javascript - 如何在jquery html应用程序中使用wcf服务作为远程或本地?

javascript - onclick模态按钮调用php函数

regex - 什么是好的 Perl 模式匹配/正则表达式模块?

php - 正则表达式从字符串开头删除单个字符,仅当有 2 个或更多时