jQuery phone number validation allow spaces, minimum of 8 digits

How can I allow spaces within an a numbers only validation, with a minimum of 8 digits? Phone numbers are much easier to type in when spaces are allowed. e.g. 0400 123 456, 9699 1234.

Here's my code so far, I've only got the minimum 8 digits validation working:

jQuery.validator.addMethod(
  "phone",
  function(phone_number, element) {
    return this.optional(element) || /^\d{8}$/.test(phone_number);
  },
    "Please enter numbers only"
);

Answers


Remove the space before validating:

return this.optional(element) || /^\d{8,}$/.test(phone_number.replace(/\s/g, ''));

This way you retain the space


My suggestion is to just remove the spaces from the phone_number before validating.

jQuery.validator.addMethod(
  "phone",
  function(phone_number, element) {
    return this.optional(element) || /^\d{8}$/ *$/.test(phone_number.replace(/\s/g, ""));
  },
    "Please enter numbers only"
);

Need Your Help

how to check null value in html textbox?

java javascript mysql jsp jdbc

I have a JSP page where i am fetching value from html textbox.