2017-04-19 89 views
2

鑑於只接受一個用於輸入字符文本字段,如下:輸入文本只允許3特定的字符

<input type="text" maxlength="1" name="k1" placeholder="?" /> 

是否有可能進一步限制的文本輸入,從而僅1X2 (如在投注系統中)驗證?

+3

使用JavaScript爲。 –

+0

你能指導我嗎?或者,也許告訴我要搜索什麼,因爲我已經嘗試了幾天:) –

+0

檢查此問題http://stackoverflow.com/questions/22086823/limit-number-of-characters-in-input-type-number –

回答

0

對於允許12X,這裏

模式= 「[12X]」 的意思是1,2或X

注:只有<input type="text" max-length="1" name="k1" pattern="[12X]" />這不會工作,直到除非你有一個表格,並提交。這將允許你在輸入框中放置任何字符。這將在用戶提交時生效。

<form> 
    <input type="text" max-length="1" name="k1" pattern="[12X]" /> 
    <input type="submit"> 
</form> 
0

至少有兩種方法可以做到這一點,包括使用模式屬性,非JavaScript的解決方案,那肯定工程;請參閱下文提供的解決方案但是,如果您需要更加嚴格的限制,那麼這裏有一個JavaScript解決方案,可以阻止用戶提交無效數據。

HTML:

<form> 
<label>Enter 1, 2, or x</label> 
<input id="myinput" maxlength="1" type="text"> 
<input type="submit"><input type="reset"> 
</form> 

的JavaScript:

myinput.oninput = function() { 
    if (myinput.value != 1 && myinput.value != 2 && myinput.value != 'x') { 
    alert("Invalid: " + myinput.value); 
    } 
}; 

全部工作示例here

,探討了oninput等事件一個很好的資源:https://javascript.info/events-change-input

相關問題