限制文本区域的字符

时间:2012-10-17 13:15:05

标签: php textarea character limit

我有一个选项面板,在此选项面板中,我有一个ID为'mytheme_about_me'的文本区域。

我想限制此文字区域的字符。我发现了很多jQuery解决方案,但因为文本区域与我的index.php不在同一个php页面中,所以我不能使用jQuery。所以我想知道如何使用php做到这一点?

3 个答案:

答案 0 :(得分:1)

您可以使用主要浏览器现在支持的maxlength属性(也适用于textarea)。请注意,浏览器可能会以不同方式计算换行符(每个换行符为1或2个字符)。 (我想问题是关于客户端检查。服务器端检查应该不是问题。)

答案 1 :(得分:1)

html方式: 只需将maxlenght添加到您的html输入中,这样就可以防止在20处添加字符,例如。 <input type="text" name="whatever" maxlength="20">。这是不安全的,因为任何用户都可以修改此代码并更改字符限制,不要忘记运行php测试。

php方式:  使用strlen($yourstring)来了解字符串的长度,以便指定限制,不要忘记通过php我的意思是服务器端脚本&#34;所以这个测试将在你的服务器上执行,防止客户端破解你的代码。

if (strlen($yourstring) <= 25)
// Save the input value
else
   echo 'your input is too long (25 characters max)';

PS:您无法访问您的jquery.js,因为您需要将它包含在您正在使用的每个.php页面上,而不仅仅是index.php

答案 2 :(得分:1)

从不如此,你可以在“普通”javascript

中完成
<script type="text/javascript">
function limit(max) {
    var textarea = document.getElementById('textarea');
    if (textarea.value.length > max) {
        textarea.value = textarea.value.substring(0, max);
    } 
}
</script>

HTML

<textarea id="textarea" onkeydown="limit(10);">bla bla</textarea>

使用您允许的最大字符数来调用limit()