“match is null”仅在服务器上 - jQuery 1.x

时间:2017-07-13 10:06:32

标签: 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。
任何想法?

1 个答案:

答案 0 :(得分:0)

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

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