我有一個選項面板,在此選項面板中,我有一個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