2012-12-19 132 views
1

我想將文本框的輸入長度僅設置爲9個字符。沒有更多,不少。有什麼辦法可以做到嗎?任何幫助將非常感激。謝謝!設置輸入文本的固定長度

+0

JavaScript的驗證將幫助你你想要的東西[像這樣] – Shurmajee

+0

做(http://jsfiddle.net/79hR3/) –

回答

1

如果它是一個輸入,你可以使用屬性maxlength=9,當然在這種情況下,你可以少於9,但是驗證它並且不發送小於9的表單並顯示錯誤是很好的。

如果它是一個textarea元素,你需要JavaScript來做到這一點

+1

'沒有更多的,沒有less' – Curt

+0

是我編輯我的答案,你只是做一個前評論。 – Moseleyi

3
var ele = document.getElementById("textboxId"); 
if (!(ele.value.length==9)){ 
    //throw validation error 
} 

http://jsfiddle.net/e9hGv/

+1

我正在使用驗證描述符,我試圖通過使用minlen和maxlen解決方法,謝謝!你非常感謝!仍然不能投票tho。 :) –

2

隨着HTML5可以使用pattern屬性做到這一點:

<input type="text" pattern=".{9}" required name="patternTest" title="Field must be 9 characters long" /> 

Demo

About pattern attribute

0

這是例子 -

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
    <%@ page contentType="text/html;charset=windows-1252"%> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/> 
    <title>index</title> 

    </head> 
    <body> 

<script type="text/javascript"> 

    function chkpassword() { 

    var p1 = document.getElementById("pass").value; 
    var min = 9 
    if(p1.length == min) { 
     alert('ok') 
    } else{ 
     alert(":(The password must be at least 9 characters long."); 
    } 

    } 

    </script> 

     <input type=text id=pass name=pass value="" style='width:245px' > 
     <input type=button id=btnOk name=btnOk value="OK" onclick='chkpassword()' /> 
     </body> 
     </html> 

使用這個代碼,讓您的解決方案。

+0

歡迎來到堆棧溢出!你會考慮增加一些敘述來解釋爲什麼這段代碼有效嗎?是什麼使它成爲這個問題的答案? –

0

您可以在輸入中將minlength和maxlenght屬性設置爲相同的值。

<input type="text" minlength="9" maxlength="9"> 

開箱即用的瀏覽器將只考慮前9個字符,並阻止您輸入更多內容。使用模式可以儘可能多地鍵入,但驗證將失敗。另外,驗證消息具有更好的用戶體驗:

MINLENGTH個最大長度:

請延長這段文字9個字符以上(目前 您使用8個字符)。

模式:

請符合要求的格式。