我有一个输入,用户填写并发送。我想在JavaScript中创建一个验证,以防止用户输入类似的内容:
1111111111
2222222222
3333333333 等
<input type="text" class="form-control" id="inputID" placeholder="Company nummer" name="CompanyNumber" onchanged="checkInputDigits()" maxlength="13" pattern=".{13,}" required title="most be 13 digits"/>
<script>
function checkInputDigits()
{
//What to do?
}
</script>
我可以在checkInputDigits
函数中使用什么正则表达式来检查此无效输入?
答案 0 :(得分:2)
像这样的简单正则表达式可以解决这个问题:
/^(0+|1+|2+|3+|4+|5+|6+|7+|8+|9+)$/
它只匹配只有1位数的字符串。
var units = [
'111111111', // false
'222222222', // false
'333333333', // false
'123456789' // true
];
var regex = /^(0+|1+|2+|3+|4+|5+|6+|7+|8+|9+)$/;
units.forEach(function(unit) {
var valid = !regex.test(unit);
console.log(unit, valid);
});
要使用现有HTML,您只需将this
传递给您的函数,然后将onchanged
更改为onchange
。
function checkInputDigits(field)
{
if (/^(0+|1+|2+|3+|4+|5+|6+|7+|8+|9+)$/.test(field.value)) {
alert('You ID number looks fake.');
}
}
<input type="text" class="form-control" id="inputID" placeholder="Company nummer" name="CompanyNumber" onchange="checkInputDigits(this)" maxlength="13" pattern=".{13,}" required title="most be 13 digits"/>
答案 1 :(得分:0)
如果数字全部相同则返回true。
Expires