Javascript-正则表达式,用于匹配长度为5位的数字

Javascript-正则表达式,用于匹配长度为5位的数字,javascript,regex,Javascript,Regex,我有一个已经连接到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; }

我有一个已经连接到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;
  }
 }
请帮助我编辑此匹配项
匹配项(/^[0-9]{5}/)
以使其:

  • 只接受数字
  • 仅接受准确的字符数(仅5个字符)

您可以使用
/^[/\d]{5}?$/
仅匹配数字,精确数字为5

功能验证(输入){
返回输入。匹配(/^[/\d]{5}?$/)!==null
}
日志(验证('12345'))
日志(验证('1234444'))
console.log(验证('1223a'))
console.log(验证('1234'))

/^\d{5}$/.test(yourValue)
谢谢你的帮助。。它成功了。。但是你为什么不把你的答案作为答案而不是评论。。所以我可以选择它作为最佳答案。它是如此的琐碎,以至于我没有为它写一个答案。使用
.test
而不是
.match
如果你不匹配任何东西,即你不关心它匹配的子字符串。
.test
是最好的解决方案,使用正确的函数,而不是按照你的意愿弯曲另一个函数。不需要显式条件,只需从此表达式返回布尔值:
return input.match(/^[/\d]{5}?$/)!==空
var match = $(input).val().trim().match(/[0-9]{5}/);

return match !== null && match[0] === match.input;