2
Как при внесении номера (поле тип текст) чтобы все что не цифры сами стирались...
Автор Radik, 31 июля 2015 10:30
Сообщений в теме: 6
#1
Отправлено 31 Июль 2015 - 10:30
Как при внесении номера (поле тип текст) чтобы все что не цифры сами стирались...
При внесении в поле тел вот так +7(383)646-55-78 - номер автоматом сохранялся как 73836465578?
Сотрудники много времени тратят на исправление номера при внесении...
При внесении в поле тел вот так +7(383)646-55-78 - номер автоматом сохранялся как 73836465578?
Сотрудники много времени тратят на исправление номера при внесении...
#2
Отправлено 31 Июль 2015 - 11:43
регулярка оставит только цифры
а такое вычисление будет форматировать тел в один формат, пригодно только для мобильных, т.е. 10-значных номеров.
$tmp = preg_replace('/[^0-9,]/', '', $line['Телефон моб.']);
а такое вычисление будет форматировать тел в один формат, пригодно только для мобильных, т.е. 10-значных номеров.
// удаление всего кроме цифр. // обрезка до 10 знаков с конца // добавление +7, скобок и пробелов // если меньше 10 цифр обнулить поле $tmp = substr(preg_replace('/[^0-9,]/', '', $line['Телефон моб.']), -10); if(strlen($tmp) == 10){ $line['Телефон моб.'] = "+7 (".substr($tmp, 0, 3).") ".substr($tmp, 3, 3)."-".substr($tmp, 6, 2)."-".substr($tmp, 8, 2); }else{ $line['Телефон моб.'] = "";}
#3
Отправлено 31 Июль 2015 - 11:58
смысл задания в другом. смысл чтобы до нажатия "СОХРАНИТЬ" яваскрипт при внесении цифр и символов оставлял только цифры... остальное удалял...
mak (31 Июль 2015 - 11:43) писал:
регулярка оставит только цифры
а такое вычисление будет форматировать тел в один формат, пригодно только для мобильных, т.е. 10-значных номеров.
$tmp = preg_replace('/[^0-9,]/', '', $line['Телефон моб.']);
а такое вычисление будет форматировать тел в один формат, пригодно только для мобильных, т.е. 10-значных номеров.
// удаление всего кроме цифр. // обрезка до 10 знаков с конца // добавление +7, скобок и пробелов // если меньше 10 цифр обнулить поле $tmp = substr(preg_replace('/[^0-9,]/', '', $line['Телефон моб.']), -10); if(strlen($tmp) == 10){ $line['Телефон моб.'] = "+7 (".substr($tmp, 0, 3).") ".substr($tmp, 3, 3)."-".substr($tmp, 6, 2)."-".substr($tmp, 8, 2); }else{ $line['Телефон моб.'] = "";}
#4
Отправлено 31 Июль 2015 - 12:44
Номер ручками вносится что ли? С клавиатуры? Или копипастом?
Если с клавиатуры, то чем не устраивают встроенный механизм масок? Хотя, в этом случае странно зачем вообще ваши сотрудники сами же набирают лишние символы.
Если с клавиатуры, то чем не устраивают встроенный механизм масок? Хотя, в этом случае странно зачем вообще ваши сотрудники сами же набирают лишние символы.
#5
Отправлено 05 Август 2015 - 09:34
CbCoder (31 Июль 2015 - 12:44) писал:
Номер ручками вносится что ли? С клавиатуры? Или копипастом?
Если с клавиатуры, то чем не устраивают встроенный механизм масок? Хотя, в этом случае странно зачем вообще ваши сотрудники сами же набирают лишние символы.
Если с клавиатуры, то чем не устраивают встроенный механизм масок? Хотя, в этом случае странно зачем вообще ваши сотрудники сами же набирают лишние символы.
Номер удобно менеджерам вносить копипастом... поэтому и появилась необходимость автоматической коррекции...
#6
Отправлено 06 Август 2015 - 22:08
Radik (05 Август 2015 - 09:34) писал:
Номер удобно менеджерам вносить копипастом... поэтому и появилась необходимость автоматической коррекции...
Radik (31 Июль 2015 - 11:58) писал:
смысл задания в другом. смысл чтобы до нажатия "СОХРАНИТЬ" яваскрипт при внесении цифр и символов оставлял только цифры... остальное удалял...
И всетаки регулярка. Вот код, оставляющий только цифры и "тире" в переменной str
var str='saafsdfsd23432-sdgfdsg' alert(str.replace(/[^-0-9]/gim,''));
Сообщение отредактировал maksn: 06 Август 2015 - 22:13
#7
Отправлено 17 Август 2015 - 11:55
maksn (06 Август 2015 - 22:08) писал:
И всетаки регулярка. Вот код, оставляющий только цифры и "тире" в переменной str
var str='saafsdfsd23432-sdgfdsg' alert(str.replace(/[^-0-9]/gim,''));
Спасибо. Немного доработал - получился такой скрипт. Работает только в Гугл Хроме...function onchange_{$one_field.id}(){var str=document.getElementById('valueНОМЕРполя').value;// alert(str.replace(/[^0-9]/gim,''));document.getElementById('valueНОМЕРполя').value = str.replace(/[^0-9]/gim,'');check_txt(НОМЕРполя,event);recheck_txt(НОМЕРполя);check_click(НОМЕРполя);};$('#value{$one_field.id}').bind('change', onchange_{$one_field.id});
Количество пользователей, читающих эту тему: 4
0 пользователей, 4 гостей, 0 анонимных