javascript - "match is null"仅在服务器 - jQuery 1.x

标签 javascript jquery regex

这段小代码有问题:

$('.desc_container').each(function() {
    var fulltext = $(this).text();
    if(fulltext.length > 50) {
      var myRegexp = /^(.{47}\w*\W)(.*?)$/g;
      var match = myRegexp.exec(fulltext);
      var open_part = match[1];
      var hidden_part = match[2];
      $(this).html(open_part + '<span class="hidden">' + hidden_part + '</span><span class="expand">more..</span>');
    }
})

jsfiddle

当我在本地或在 jsfiddle 测试它时,一切都很好,但在服务器上尝试此操作返回“匹配为空”。唯一的区别是,在服务器上,desc_container 由 smarty 填充,但这并不重要,因为脚本加载在 $(document).ready(function()...
jQuery 版本:1.11。
有什么想法吗?

最佳答案

好的,问题是生成内容中的换行符,正则表达式应该是这样的

^([\s\S]{47}\w*\W)([\s\S]*?)$

关于javascript - "match is null"仅在服务器 - jQuery 1.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45077517/

相关文章:

javascript - 使用 css、canvas 或 svg 创建流体(缩放)同心圆弧

javascript - 谷歌地图添加监听器问题

javascript - 如何为 node/mongo 创建一个正则表达式来查找不包含正则表达式的数据

c# - 如何获取带加号和括号的电话号码并返回号码?

javascript 数组和 jsf/richfaces

javascript - Vega Charts 抛出类型定义错误

javascript - 错误: invalid input syntax for type date: "" using NodeJS and PostgreSQL

javascript - 无法使用 JavaScript/jQuery 正确验证单选按钮

javascript - 将类添加到 UL 元素的所有子元素

c++ - 正则表达式,获取两个关键字之间的整个字符串