我需要在一个字段中输入时间输入,所以我在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也在字符串中有" /"值。怎么可能?有人可以举例吗?
答案 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">