我需要一个输入文本框,只能接受0和1的字符串,如00101110101。
<input type="number"></input>
限制输入任何字母,但是,我们可以输入1,2,3,4等等。我需要将输入字符串限制为仅包含0和1。
用HTML或Javascript帮助做任何事情?
答案 0 :(得分:3)
您可以使用正则表达式(/[^01]/g
)和replace
从输入值中删除0
和1
以外的任何内容。
document.getElementById("inp").oninput = function() {
var v = this.value; // get the value from the input
v = v.replace(/[^01]/g, ''); // replace anything that isn't 0 or 1 by ''
this.value = v; // set the value of the input to the new value
}
<input id="inp"/>
如果您希望用户仍在中间编辑内容,请使用以下内容:
document.getElementById("inp").oninput = function() {
var pos = this.selectionStart; // save the position of the caret
var v = this.value;
v = v.replace(/[^01]/g, '');
this.value = v;
this.selectionStart = pos; // restore it
this.selectionEnd = pos; // so no text will be selected
}
<input id="inp"/>
注意我不建议使用最后一种方法,因为我不确定有多少浏览器处理selectionStart
和selectionEnd
。
答案 1 :(得分:0)
这可能会对你有所帮助。
<input type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 49'>
希望它会有所帮助。 问候。