Как определить другое регулярное выражение для первого символа и остальной части строки? - PullRequest
0 голосов
/ 30 января 2019

Я хочу проверить и обработать строку, которая должна быть номером телефона.Для первого символа принимаются цифры и +, для остальных - просто цифры.

У меня есть решение принять + и цифры, но только для всей строки:

console.log("asd242++asf43+234".replace(/[^+\d]/g, ""))

Но страдают от определения разных проверок для первого и остальных символов.

Ответы [ 3 ]

0 голосов
/ 30 января 2019

Вы можете использовать следующее:

([^+\d]|(?!^)\+)

Это соответствует всему, что не является цифрой или + и не соответствует + в начале строки!
Итакваш журнал испытаний будет выглядеть так:

console.log("+asd242++asf43+234".replace(/([^+\d]|(?!^)\+)/g, ""))

(я добавил + в начало, чтобы показать, что он обрабатывает это правильно!)

См. Демо , которое показываетэто соответствует всем вашим случаям!

0 голосов
/ 30 января 2019

Попробуйте это: /^[+]?[0-9]+$/g

^ - начало строки

[+]?- один необязательный + символ

[0-9] + - одна или несколько цифр

$ - конец строки

0 голосов
/ 30 января 2019

То, что я понял, вы хотите проверить +numbers.Вы должны использовать ^ и $ в начале конца вашего регулярного выражения.Я думаю, что следующее регулярное выражение будет работать, если я не ошибаюсь.

/^\+[0-9]+$/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...