У меня есть текстовое поле, и в нем указано «Телефон:», поскольку стандарт здесь для номера телефона (XXX) -XXX-XXXX Я хотел бы иметь javascript, который автоматически помещает мои номера в этот формат, если он не находится в этот формат, поэтому, если вы набрали 9993334444, тогда он автоматически изменит его на лету, пока я набираю текст (999) -333-4444. Я искал Google для Javascript Phone Regex без успеха, возможно, Regex - это не то, что Я ищу?Как я могу использовать Javascript Regex для телефонных номеров?
ответ
вы хотите добавить OnKeyUp событие с регулярным выражением, как
this.value = this.value.replace(/^\(?([0-9][0-9][0-9]){1}\)?-?([0-9][0-9][0-9][0-9]){1}-?([0-9][0-9][0-9]){1}$/, '($1)-$2-$3');
Выезд http://jsfiddle.net/R8enX/
/ means start/end a regex string
^ means start of matching string
$ means end of matching string
? means 0 or 1 instances (make braces and dashes optional)
[0-9] means any single digit
(x){1} tags x as an expression that we can reference in the replacement with a $ sign
EDIT: понял, что я пропустил цифру на последней группе чисел, jsfiddle будет только (правильно) с 3-мя цифрами в последней группе
Не знаете, что вы имеете в виду тот факт, что jsfiddle будет работать только с 3-мя цифрами в последней группе, потому что я просто попробовал код, и он отлично работал :) Я не знал о событиях onkeyup, я думал, что должен использовать Onclick, чтобы вы научили меня что-то сегодня. Большое спасибо! – user519753
Чтобы построить несколько ответов @Andrews, вы можете проверить действительный (местный) номер телефона с помощью этого метода. Если число меньше или больше, чем 10 цифр, он падает обратно в недействительный номер
-
<input type="text" onBlur="localNumber(this.value)"/>
<div id="output"></div>
-
<script>
var localNumber = function(str){
repl = str.replace(/^([0-9]{3})([0-9]{3})([0-9]{4})$/, "($1)-$2-$3");
outp = document.getElementById('output');
if(repl.match(/\W/))
{
outp.innerHTML = repl;
}
else
{
outp.innerHTML = 'Invalid number for this region';
}
}
</script>
- 1. Javascript RegEx для глобальных телефонных номеров
- 2. Regex для голландских телефонных номеров
- 3. Regex для французских телефонных номеров
- 4. Regex для извлечения телефонных номеров
- 5. Java: Я хочу использовать Regex для подсчета телефонных номеров
- 6. Regex для телефонных номеров с * в нем
- 7. Пользовательское определение html5 regex для телефонных номеров
- 8. Использование Notepad ++ Regex для форматирования телефонных номеров
- 9. Regex для английского и ирландского телефонных номеров
- 10. Regex для проверки всех телефонных номеров
- 11. Regex для соответствия различным форматам телефонных номеров
- 12. PHP Regex для извлечения телефонных номеров
- 13. Конкретного Regex Выражения для телефонных номеров
- 14. Regexp для телефонных номеров
- 15. Динамически добавлять javascript для подтверждения телефонных номеров
- 16. PHP Regex help, фильтрация телефонных номеров
- 17. Javascript RegExp - извлечения телефонных номеров из строки
- 18. Regex, чтобы соответствовать всем форматам телефонных номеров
- 19. Javascript - Как подтвердить наличие двух телефонных номеров
- 20. Могу ли я использовать JavaScript facebook SDK для телефонных приложений?
- 21. Revex TextEdit Input Mask Regex для телефонных номеров США
- 22. HTML Regex для нескольких телефонных номеров, не соответствующих
- 23. Проверка нескольких телефонных номеров
- 24. AJAX MaskedEditExtender для телефонных номеров
- 25. выражение preg_match для телефонных номеров
- 26. Пользовательская маска для телефонных номеров
- 27. Регулярное выражение для телефонных номеров
- 28. Нужна помощь с Regex для форматирования телефонных номеров
- 29. Python regex для исправления австралийских/новозеландских телефонных номеров
- 30. Java regex для телефонов Uk и телефонных номеров
Это действительно не тривиально решить! Если пользователь ввел «999», чем вы, вероятно, захотите показать «(999) -» в поле ввода. Если пользователь затем входит в, вы, вероятно, захотите показать «(99» в поле. Другая сложная часть может быть скопирована и вставлена в текст. Мне когда-то пришлось реализовать подобную проблему для клиента, но это было много работы и в конец результата не был ДЕЙСТВИТЕЛЬНО удобным решением. :( –
slartidan
Вы также говорите, что никогда не будете использовать это программное обеспечение в локали с различными стандартами для телефонных номеров. Просто позвольте пользователям делать это сами. – Ashe