Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 限制服务器端(php)和html中的文本区域行?_Javascript_Php_Jquery_Codeigniter_Textarea - Fatal编程技术网

Javascript 限制服务器端(php)和html中的文本区域行?

Javascript 限制服务器端(php)和html中的文本区域行?,javascript,php,jquery,codeigniter,textarea,Javascript,Php,Jquery,Codeigniter,Textarea,我尝试了多种javascript和jquery方法来限制行数,但大多数情况下都是存在错误,或者存在复制/粘贴等问题。请让我知道客户端应该如何处理。。主要是从复制/粘贴补丁,限制额外的行,如果你不按回车键,但保持写作等 另外,这只是我目前的服务器端检查,所以请让我知道我是否也可以改进它 $lines = array_slice(explode("\n", trim( $_POST['description'])), 0, 10); // max 10 lines foreach ($lines

我尝试了多种javascript和jquery方法来限制行数,但大多数情况下都是存在错误,或者存在复制/粘贴等问题。请让我知道客户端应该如何处理。。主要是从复制/粘贴补丁,限制额外的行,如果你不按回车键,但保持写作等

另外,这只是我目前的服务器端检查,所以请让我知道我是否也可以改进它

$lines = array_slice(explode("\n", trim( $_POST['description'])), 0, 10); // max 10 lines

foreach ($lines as $key => $value)
{
    $lines[$key] = substr(trim($value), 0, 100); // max 100 chars
}

$insert['teams_descr'] = implode("\n", $lines);
                $this->db->update( 'teams', $insert, array( 'teams_id' => $this->user->leader_team_id() ) );
你可以试试这个

<textarea id="splitLines" rows="10" cols="100" onchange="ValidateLines(this.value)"></textarea>
<script>
function ValidateLines(val) {
    var lines = val.split("\n");
    for (var i = 0; i < lines.length; i++) {
    if (lines[i].length <= 100) continue;
    var j = 0; space = 100;
    while (j++ <= 100) {
      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);
    }
    document.getElementById("splitLines").value = lines.slice(0, 10).join("\n");

}
</script>

复制粘贴可以在这个。。。但它正在处理更改事件…

已经有一篇帖子描述了这一点,感谢您为其提供链接,但不幸的是,我已经检查过了。这两个例子都有bug,比如允许复制/粘贴,以及我在主要帖子中已经提到的其他东西。