|
24.02.2016, 13:36
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
Help. нужна помощь с регулярами
Доброго дня! Помогите пожалуйста.
В textarea есть список телефонов такого вида
+79028380801;
+79197076971;
89199176972;
+79206496973;
89192236974;
8-9502236923;
89222236958
При нажатии на кнопку, мне надо привести их к общему виду. такому виду
89199999999. запятые нужно оставить, чтобы получилось 89199999999;89229999999
|
|
24.02.2016, 14:25
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
espltd,
<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<textarea rows="12">+79028380801;
+79197076971;
89199176972;
+79206496973;
89192236974;
8-9502236923;
89222236958;
</textarea>
<button onclick="same()">Привести к общему виду</button>
<div id="ggg"></div>
</body>
</html>
<script>
function same(){
var t = $('textarea').val();
var r1 = t.replace(/\+7/g,"8");
var r2 = r1.replace(/\-/g,"");
$('textarea').val(r2);
}
</script>
|
|
25.02.2016, 10:04
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
Спасибо огромное! Работает, а как мне убрать точку с запятой у последнего номера после обработки? с сделать номера без переноса строк, чтобы по типу csv работало. 89226491172;89504443030; и т.д., а у последнего убрать точку с запятой
|
|
25.02.2016, 10:13
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
\
Сообщение от espltd
|
как мне убрать точку с запятой у последнего номера после обработки? с сделать номера без переноса строк, чтобы по типу csv работало. 89226491172;89504443030; и т.д., а у последнего убрать точку с запятой
|
<!DOCTYPE html>
<html lang="en">
<head>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<textarea rows="12">+79028380801;
+79197076971;
89199176972;
+79206496973;
89192236974;
8-9502236923;
89222236958;
</textarea>
<button onclick="same()">Привести к общему виду</button>
<div id="ggg"></div>
</body>
</html>
<script>
function same(){
var t = $('textarea').val();
var r1 = t.replace(/\+7/g,"8");
var r2 = r1.replace(/\-/g,"");
var r3 = r2.replace(/\r|\n/g, '');
var r4 = r3.slice(0, -1);
$('textarea').val(r4);
}
</script>
|
|
25.02.2016, 10:34
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
спасибо тебе большое
|
|
25.02.2016, 10:40
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
espltd,
Но вы только смотрите, чтобы у вас была точка с запятой в последним номере. Потому что иначе будет печалька (там происходит удаление последнего символа, я думаю понятно, чем это грозит, потерей части номера).
|
|
25.02.2016, 10:57
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
ну мне действительно именно с последнего номера и надо убрать. Странная штука возникла, я попробовал ваш код в проекте. Мне выкатывает ошибку((
|
|
25.02.2016, 11:04
|
|
Кандидат Javascript-наук
|
|
Регистрация: 11.11.2015
Сообщений: 136
|
|
espltd,
replace() - передайте ей два аргумента. Что искать и на что заменять!
|
|
25.02.2016, 11:08
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
причину нашел. не считывалось значение из поля телефонов. поправил. все норм. Спасибо Вам
|
|
25.02.2016, 11:09
|
Профессор
|
|
Регистрация: 10.10.2012
Сообщений: 201
|
|
AciDWarrioR, можете мне свои контакты на всякий случай дать, мыло или аську. или вконтакте. Мало ли шабашка по яваскрипту для ВАС будет . Буду знать кому предложить
|
|
|
|