У меня есть следующие правила для ввода данных номера телефона:
- Для телефонов в США он должен соответствовать формату (999) 999-9999.
- Для телефонов за пределами США он должен начинаться с +, за которым следует любая комбинация цифр, дефисов и пробелов (в основном, гораздо менее строгий, чем формат США).
У меня есть проверка регулярным выражением, которая гарантирует, что введенный номер телефона соответствует этим правилам. Я хочу использовать маску формата телефона, соответствующую приведенным выше правилам.
Например, простой случай, когда я просто разрешаю определенный формат США, я могу сделать:
<label for="phone">Enter Phone Number:</label>
<input type="text" id="phone" name="phone">
<script type="text/javascript">
$(function () {
$('.usa-phone').mask("(999) 999-9999");
});
</script>
Это будет отображать что-то подобное в текстовом поле, когда пользователь нажимает, чтобы сфокусировать текстовое поле телефона:
(___) ___-____
Но как мне тогда разрешить международные телефоны, которые начинаются со знака «+» в том же поле ввода?
Например +99 (99) 9999-9999
.