输入字段仅允许数字和连字符以及特定格式

时间:2015-06-04 08:15:13

标签: javascript html

我有以下代码可以帮助我确保输入只是数字。

但是我还需要将此数字限制在特定格式0000-00内,使用一种警告或者可能返回值false或更好的解决方案..

<input type="text" onkeypress='validate(event)' id="class" name="class" maxlength="7" size="15px" placeholder="Ex. 1504-03" required>

<script>
            function validate(evt) {
              var theEvent = evt || window.event;
              var key = theEvent.keyCode || theEvent.which;
              key = String.fromCharCode( key );
              var regex = /[0-9]|\./;
              if( !regex.test(key) ) {
                theEvent.returnValue = false;
                if(theEvent.preventDefault) theEvent.preventDefault();
              }
            }
        </script>

非常感谢您对最佳做法的帮助

2 个答案:

答案 0 :(得分:1)

请参阅以下链接:

http://digitalbush.com/projects/masked-input-plugin/

它解释了如何将掩码添加到输入文本区域。 希望这会有所帮助:)

Admin Alex

答案 1 :(得分:0)

您可以使用pattern属性在HTML中使用正则表达式:

<input type="text" pattern="[0-9]{4}-[0-9]{2}" id="class" name="class" maxlength="7" size="15px" placeholder="Ex. 1504-03" required>

注意: Internet Explorer 9及更早版本或Safari中不支持输入标记的pattern属性。