SyntaxError:未终止字符串字面值

SyntaxError: unterminated string literal?

本文关键字:字符串 字面值 终止 SyntaxError      更新时间:2023-09-26

如何计算文本区的换行次数?

<?php
echo "<textarea value='"'" id='"text'" maxlength='"200'" wrap='"virtual'" onChange='"test()'"></textarea>
<script>
                            function test()
                            {
                                var text = $('#text').val();   
                                var lines = text.split(''n');//SyntaxError: unterminated string literal
                                var count = lines.length;
                                console.log('+'+count); // Outputs 4
                            }
                            </script>";
?>

您需要转义'n中的反斜杠。否则,它会被PHP解释,因为它位于双引号字符串中,所以它在Javascript中会变成一个换行字面值。

            var lines = text.split('''n');
<textarea cols="30" id="countLines"></textarea>
var textarea = document.getElementById("countLines");
var spaces = textarea.getAttribute("cols");
textarea.onmouseout = function() {
   var lines = textarea.value.split("'n");
   for (var i = 0; i < lines.length; i++) 
   {
         if (lines[i].length <= spaces) continue;
         var j = 0;
        var space = spaces;
        while (j++ <= spaces) 
        {
           if (lines[i].charAt(j) === " ") space = j;  
        }
    lines[i + 1] = lines[i].substring(space + 1) + (lines[i + 1] || "");
    lines[i] = lines[i].substring(0, space);
  }
    var count = lines.length;
};

检查小提琴https://jsfiddle.net/ryog4/gj5c2bkd/1/