reg ex в javascript, чтобы разрешить определенный формат номера телефона (123) 456-7890 - PullRequest
0 голосов
/ 21 февраля 2019

В настоящее время у меня есть функция для проверки номера телефона.Эта информация вводится в веб-приложении.Позднее он отображается в приложении для Windows, и именно здесь возникает проблема.У меня есть особая функция, которая заполняет данные для элементов управления, но она принимает только один тип формата номера телефона:

(123) 456-7890

Этофункция, которую мы использовали, но она позволяет пользователю вводить любой формат до 10 цифр, так что это может быть что-то вроде 123-45-6789

function validatePhone(fld) {
    var error = "";
    var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');     

   if (fld.value == "") {
        return false;
    } else if (isNaN(parseInt(stripped))) {
        return false;
    } else if (!(stripped.length == 10)) {
        return false;
    } 
    return true;
}

Я просматривал Интернети обычно у них есть определенный регистр ex для 2 форматов (123) 456-7890 | 123-456-7890, и регистр ex (((\ d {3})?) | (\ d {3} -))? \ d {3} - \ d {4} однако в моем случае я могу разрешить только 1 формат (с парантезом). Любой способ изменить это, чтобы он мог проверить, находится ли номер телефона в точном формате, как я показал выше?Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Вы можете попробовать следующее регулярное выражение

let regex = /^\(\d{3}\) \d{3}-\d{4}$/
console.log(regex.test("(123) 456-7890")) // true
console.log(regex.test("123-456-7890")) //false
0 голосов
/ 21 февраля 2019

Используйте приведенный ниже RegExp для подтверждения номера телефона

const valid = "(123) 456-7890";
const invalid = "1234567890";
const re = /^\(\d{3}\) \d{3}-\d{4}$/;
console.log(
  re.test(valid),
  re.test(invalid)
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...