繁体   English   中英

Javascript-正则表达式以匹配5位长数字

[英]Javascript - Regular Expression to match a number long 5 digits

我有一个已经连接到我的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}/)以使其:

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

您可以使用/^[/\\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> 

var match = $(input).val().trim().match(/[0-9]{5}/);

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM