我有一个选项面板,在此选项面板中,我有一个ID为'mytheme_about_me'的文本区域。限制文本区域的字符
我想限制这个文本区域的字符。我找到了很多jQuery解决方案,但是因为文本区域与我的index.php不在同一个php页面中,所以我无法使用jQuery。所以我想知道如何使用PHP来做到这一点?
我有一个选项面板,在此选项面板中,我有一个ID为'mytheme_about_me'的文本区域。限制文本区域的字符
我想限制这个文本区域的字符。我找到了很多jQuery解决方案,但是因为文本区域与我的index.php不在同一个php页面中,所以我无法使用jQuery。所以我想知道如何使用PHP来做到这一点?
您可以使用maxlength
属性,主属性浏览器现在也支持该属性(对于textarea
也是如此)。请注意,浏览器可能会以不同的方式计算换行符(每个中断为1或2个字符)。 (我想这个问题是关于客户端检查服务器端检查不应该是一个问题。)
+1 - 不需要JS。对于支持,请检查:http://wufoo.com/html5/attributes/03-maxlength.html - 不幸的是它只在IE10 +中可用... – insertusernamehere
HTML方式: 只需添加maxlenght
到HTML输入,所以它会防止将字符在20,举个例子。 <input type="text" name="whatever" maxlength="20">
。这是不安全的,因为任何用户都可以修改此代码并更改字符限制,不要忘记运行php测试。
PHP方式: 使用strlen($yourstring)
知道你的字符串的lenght所以你可以指定限制,不要忘记,PHP我的意思是“服务器脚本双面”因此本次测试将您的服务器上执行,防止客户端破解你的代码。
if (strlen($yourstring) <= 25)
// Save the input value
else
echo 'your input is too long (25 characters max)';
PS:因为你需要包括它的每一个PHP页面上使用的是,不仅在index.php
从来没有少,你可以做你不能访问你的jquery.js它在 “普通” 的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()
用的最大数量你会允许的字符
不错的一个..但我总是可以禁用java脚本或通过标头注入文本.. – Baba
@Baba如何通过头文件注入文本? – insertusernamehere
如果有人禁用JavaScript,那么它们已经超出范围。注入文字...? – davidkonrad
*但是因为文本区域与我的index.php不在同一个php页面中,所以我不能使用jQuery * .....没有任何意义 –
您是否在问如何在表单提交后验证PHP中文本的长度,或者如何验证用户在JavaScript中输入文本的长度? – newfurniturey
你可以随处使用jQuery。就像你在index.php中包含jquery脚本一样。 – enenen