我有一个已经连接到我的HTML模板的JS文件。我有一个输入表单,我希望它只接受数字0-9,具有5个数字的确切字符数。 所以我放置了函数:
function validate (input) {
if($(input).attr('type') == 'text' || $(input).attr('name') == 'text') {
if($(input).val().trim().match(/^[0-9].{5}/) == null) {
return false;
}
}
现在输入无法继续输入数字,尝试过的字母,数字,小于11个字符且超过5但仍然会返回错误。
当我使用这个时,它只接受数字,不接受少于5个字符,但它可以接受超过5个我不想要的。
function validate (input) {
if($(input).attr('type') == 'text' || $(input).attr('name') == 'text') {
if($(input).val().trim().match(/^[0-9]{5}/) == null) {
return false;
}
}
请帮助我编辑此匹配match(/^[0-9]{5}/)
以使其成为:
答案 0 :(得分:1)
您可以使用/^[/\d]{5}?$/
仅匹配数字,确切的位数为5。
function validate (input) {
return input.match(/^[/\d]{5}?$/) !== null
}
console.log(validate('12345'))
console.log(validate('1234444'))
console.log(validate('1223a'))
console.log(validate('1234'))
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:1)
var match = $(input).val().trim().match(/[0-9]{5}/);
return match !== null && match[0] === match.input;