Ryan Yan
Ryan Yan

Reputation: 3

How to limit the number of multiple characters in an input value?

I want to limit the number of letters at the beginning and end of the input value (e.g. QQ23F and SG21G) through JavaScript but I found that only one {} can be written in a pattern. Thanks for any help. Here is my incorrect code:

var isValid = true;
  var id=document.getElementById("pid").value;
  if (!id.match(/[A-Za-z]{2}+[0-9]+[A-Za-z]{1}/)) {
      document.getElementById("pidMessage").innerHTML="Your pid format is invalid!";
      isValid = false;
  }

Upvotes: 0

Views: 70

Answers (1)

Mohamed Abdallah
Mohamed Abdallah

Reputation: 996

You need to add the begging ^ and end $ signs

  let isValid = true;
  let id=document.getElementById("pid").value;
  if (!id.match(/^([A-Za-z]{2}[0-9]+[A-Za-z]{1})$/)) {
      document.getElementById("pidMessage").innerHTML="Your pid format is invalid!";
      isValid = false;
  }

And for everyone's sake use let not var

Upvotes: 1

Related Questions