有人能告诉我一些在Javascript中限制用户输入(在输入标签上)的例子吗?
当我们将输入(type =“text”)设置为仅接受数字时,它会忽略除数字之外的任何其他输入......
我认为它对数字输入很方便(例如拉链,信用卡,金钱,价值,分数,日期等......),如果你能告诉我如何使用模式创建输入,例如:
Please Input Date: |-----------------| | / / | |-----------------|
PS: 我听说WebForms 2.0将来会支持这个......(符合Acid 3标准的浏览器?)
输入类型=“日期”
输入类型=“时间”
输入类型=“数字”
输入类型=“钱”
但这只是未来的新闻:D
答案 0 :(得分:8)
这可能会对你有帮助。
http://www.w3schools.com/jsref/event_onkeydown.asp
<html>
<body>
<script type="text/javascript">
function noNumbers(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return !numcheck.test(keychar);
}
</script>
<form>
<input type="text" onkeydown="return noNumbers(event)" />
</form>
</body>
</html>
答案 1 :(得分:5)
这个问题已经得到了答案,但我认为有更好的解决方案。你不必在keydown等上自己实现它,有这样的库。他们称之为“输入掩码”的技术。查看this jQuery plugin它完全符合您的要求。
答案 2 :(得分:3)
您可以在表单提交上使用特定的库,例如jQuery Validate(或JS框架提供的任何内容)。另一个解决方案是控制keyUp&amp;的值。模糊事件,但决定如何处理格式错误的条目(特别是当格式有点复杂 - 即不仅仅是不受欢迎的字符时)可能会变得非常混乱。所以,总而言之,我建议客户端控制提交。