![](/img/trans.png)
[英]How to restrict input textbox to enter numbers only in Angular2 form?
[英]Html textbox: how to restrict input values to only numbers less than 15
我只想在我的文本字段中输入输入值01,02,...,09,10,11,12,..,15。 请提供有关如何实现此目标的示例代码,以帮助新手。 (尚未使用HTML5)
尝试:
<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["YourTextBoxID"].value;
var y = parseInt( x , 10 )
var i=15;
if (y>i)
{
alert("Out of range");
return false;
}
}
</script>
好吧,由于您用“ regex”标记了问题,因此所需的正则表达式是这样的:
/^(0[\d]|1[1-5])$/
或者,如果要使初始的“ 0”为可选:
/^(0?[\d]|1[1-5])$/
至于您如何使用它,好吧,如果您显示到目前为止的代码,我可以建议如何适合它。
一个示例,为什么不允许用户仅输入数字? 试试看
<HTML>
<HEAD>
<SCRIPT language=Javascript>
<!--
function isNumberKey(evt) ' Allow user to enter only numbers
{
var charCode = (evt.which) ? evt.which : event.keyCode
if (((charCode > 47) && (charCode < 58 ) ) || (charCode == 8))
return true;
return false;
}
function isless() ' do not submit if greater than 15
{
var num = document.getElementById('num_txt').value
var y = parseInt( num , 10 )
if ( y > 15 )
return false;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM onsubmit="isless()" action="some.php">
<INPUT id="num_txt" onkeypress="return isNumberKey(event)" type="text" >
</FORM>
</BODY>
</HTML>
我认为您可以使用comboBox ..一些代码开始:
<select >
<option> 01 </option>
<option> 02 </option>
</select>
您有两种选择。 使用键盘的用户喜欢手动输入文本,因此对于他们来说,最好在屏幕上提示输入的值应为'01'到'15'。 让用户输入他们想要的任何内容,并在提交表单时对其进行验证。
另一个选择是使用带有所需值的选择元素,或使用一系列单选按钮。 这完全取决于您的用户以及所收集的数据(例如日期,计数,年龄等)。
因此,找出您的用户想要什么,然后实施它。 客户端验证只是为了让用户生活得更好,而不是强迫他们按照自己的意愿做事的方式,这就是服务器端验证的目的。 :-)
这是一个有点脆弱但完整的解决方案:
在这种情况下,您将输入一个文本,其ID为test:
<input type="text" id="test"/>
这是您的脚本:
var numbers = [48,49,50,51,52,53,54,55,56,57];
$("#test").bind("keyup",function(e){
var num = numbers.indexOf(e.which),
t = $(e.target),
v = t.val(),
len = v.length;
if(len > 2){
t.val(v.match(/(.+?).$/)[1]);
} else {
if(v[0] == 1){
if(v[1] && v[1] > 5){
t.val(15);
}
} else if(v[0] != 0) {
t.val("");
}
}
});
基本上,我将所有字母的键代码分配给数组的相应索引。
然后,在按下的每个键上,我们找出它是什么键,如果它在位置0,则检查它是0还是1。
如果它在位置1,则只要第一个数字为1,就检查它是否大于5。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.