2017-04-19 61 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

相关问题