验证输入时间(以分钟为单位)

时间:2015-09-16 09:37:38

标签: javascript regex

我需要在一个字段中输入时间输入,所以我在javascript中创建这个正则表达式:

var pattern = new RegExp('[1-9]+[0-9]*') //the 0 is not a correct value for input

var example = "44445/";
if (pattern.test(example)) {

}

我的问题是程序输入if也在字符串中有" /"值。怎么可能?有人可以举例吗?

1 个答案:

答案 0 :(得分:1)

你错过了开始和结束锚点。如果您不使用锚点,那么正则表达式将仅检查字符串是否包含数字。

使用锚点将确保该字符串仅包含 指定的字符。

var regex = /^[1-9]+[0-9]*$/;

你的正则表达式也可以写成

var regex = /^[1-9]\d*$/;

function testValue(value) {
  return /^[1-9]\d*$/.test(value);
}
<input type="text" onblur="document.getElementById('i1').value = testValue(this.value)">
<input type="text" readonly id="i1">