我有一个html格式的文本类型字段'sessionid'。我希望用户只输入1-12的数字,而不是更多。如果输入0或13 e.t.c,则返回错误。
这是html表单
Session Id
</td>
<td>
<input type="text" name="session id" />
谢谢。请帮助。
答案 0 :(得分:5)
尝试将数字转换为int:
<script type="text/javascript">
function checksession(sess){
var i = parseInt(sess);
if(isNaN(c) || c < 1 || c > 12){
alert("Invalid session id!");
}
}
</script>
对于现代浏览器,我建议使用HTML5 number
输入类型:
<input type="number" name="sessionid" min="0" max="12" >
答案 1 :(得分:1)
您可以使用正则表达式。
http://www.javascriptkit.com/javatutors/re.shtml
http://www.regular-expressions.info/numericranges.html
<script language="JavaScript1.2">
function checkpostal(){
var regexp=/^([1-9]|10|11|12)$/ //regular expression
if (document.myform.sessionid.value.search(regexp)==-1) //if match failed
alert("wrong input")
}
</script>
<form name="myform">
<input type="text" name="sessionid">
<input type="button" onClick="checkpostal()" value="check">
答案 2 :(得分:1)
最简单的方法是使用选择字段
<select name="number-chooser">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">Three</option>
<option value="4">4</option>
</select>
这适用于小数字空间,但如果你要去更大的REGEXP是你的朋友。