HTML5 phone number validation with pattern

HtmlValidation

Html Problem Overview


I'm using HTML5 form validation to validate phone numbers from India.

Phone numbers from India are 10 digits long, and start with 7, 8, or 9.

For example:

  1. 7878787878
  2. 9898989898
  3. 8678678878

These phone numbers are valid, but

  1. 1212121212
  2. 3434545464
  3. 6545432322

are invalid.

Suggest a pattern that can detect valid India phone numbers.

So far, my pattern is [0-9]{10}, but it doesn't check if the first digit is 7, 8, or 9.

Html Solutions


Solution 1 - Html

How about

<input type="text" pattern="[789][0-9]{9}">

Solution 2 - Html

How about this? /(7|8|9)\d{9}/

It starts by either looking for 7 or 8 or 9, and then followed by 9 digits.

Solution 3 - Html

The regex validation for india should make sure that +91 is used, then make sure that 7, 8,9 is used after +91 and finally followed by 9 digits.

/^+91(7\d|8\d|9\d)\d{9}$/

Your original regex doesn't require a "+" at the front though.

Get the more information from below link
w3schools.com/jsref/jsref_obj_regexp.asp

Solution 4 - Html

Try this code:

<input type="text" name="Phone Number" pattern="[7-9]{1}[0-9]{9}" 
       title="Phone number with 7-9 and remaing 9 digit with 0-9">

This code will inputs only in the following format:

9238726384 (starting with 9 or 8 or 7 and other 9 digit using any number)
8237373746
7383673874

Incorrect format:
2937389471(starting not with 9 or 8 or 7)
32796432796(more than 10 digit)
921543(less than 10 digit)

Solution 5 - Html

This code will accept all country code with + sign

<input type="text" pattern="[0-9]{5}[-][0-9]{7}[-][0-9]{1}"/>

Some countries allow a single "0" character instead of "+" and others a double "0" character instead of the "+". Neither are standard.

Solution 6 - Html

Improving @JamesPlayer's answer:

Since now in India, a new series of phone numbers started with 6. Use this 

<input type="text" pattern="[6789][0-9]{9}">

To show a custom error message, use the title attribute.

<input type="text" pattern="[6789][0-9]{9}" title="Please enter valid phone number">

That's all folks. 

Solution 7 - Html

enter image description here

^[789]\d{9,9}$

  • Minimum digits 10

  • Maximum digits 10

  • number starts with 7,8,9

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionManwalView Question on Stackoverflow
Solution 1 - HtmlJamesPlayerView Answer on Stackoverflow
Solution 2 - HtmlitsmikemView Answer on Stackoverflow
Solution 3 - HtmlShailendr singhView Answer on Stackoverflow
Solution 4 - HtmlthejustvView Answer on Stackoverflow
Solution 5 - Htmlmanish1706View Answer on Stackoverflow
Solution 6 - HtmlDarshan GadaView Answer on Stackoverflow
Solution 7 - HtmlbunnyView Answer on Stackoverflow