【问题标题】:Specify range of numbers to input in number field using javascript使用javascript指定要在数字字段中输入的数字范围
【发布时间】:2011-03-04 11:44:19
【问题描述】:

我在 html 表单中有一个文本类型的字段“sessionid”。我希望用户只输入 1-12 的数字,不再输入。如果输入 0 或 13 e.t.c,则返回错误。

这是html表单

Session Id
          </td>
          <td>
            <input type="text" name="session id" />

谢谢。请帮忙。

【问题讨论】:

  • 您自己尝试过吗?如果是,您可以发布您尝试过的内容吗?如果没有,请尝试。另外,请尝试search for it
  • 我喜欢无所不知的告诉新手去寻找它,他做到了,他来了!

标签: javascript html validation


【解决方案1】:

尝试将数字转换为 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" >

【讨论】:

【解决方案2】:

最简单的方法是使用选择字段

<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 是你的朋友。

【讨论】:

  • 谢谢。我认为对于我的情况,“选项值”可能更合适,因为范围很小。感谢@Tunca 提供的 regxp。
【解决方案3】:

您可以使用正则表达式。

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">

【讨论】:

  • 'regxp' 从来不知道。谢谢。
  • 你也可以选择这个作为你接受的答案:) np
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 2021-04-10
  • 2015-02-26
  • 1970-01-01
相关资源
最近更新 更多