Выполните самостоятельно очередную практическую задачу, относящуюся к заметке о методе replace, который осуществляет поиск и замену совпадений в строке.
Эта задача довольно проста. Здесь нужно вспомнить работу с функциями. В остальном эта задача во многом похожа на пример прошлой заметки.
Написать функцию, которая меняет слэши на дефисы.
Задача состоит в том, чтобы написать функцию, которая принимает два параметра.
1. Переменная, в которой содержится номер телефона, записанный с помощью слэшей.
var tel = "8/927/31/10/765";
2. Знак, на который нужно заменить слэш.
var sign = "-";
Внутри этой функции, с помощью регулярного выражения и метода replace() надо заменить все слэши на указанный во втором параметре знак.
В качестве результата, нужно вывести уже измененный телефонный номер на экран.
Подсказка. Помните, что слэш это символ, который используется для создания регулярного выражения (также как и точка, скобки и т.д.) поэтому, чтобы искать именно слэш, нужно экранировать его обратным слэшем.
<script type = "text/javascript">
var tel = "8/927/31/10/765";
var sign = "-";
function dash(tel,sign) /* Создаем функцию с двумя параметрами */
{
var regular = /\//g; /* Регулярное выражение - Слэш, который экранируется обратным слэшем + глобальный поиск g */
var result = tel.replace(regular,sign); /* Ищем все слэши и меняем их на содержимое переменной sign - в данном случае это дефис */
document.write(result);
}
dash(tel,sign); /* Создаем функцию с двумя параметрами */
</script>
8-927-31-10-765
Пояснения к решению в данном случае излишни, так как достаточно комментариев в самом примере.
Внесем в решение небольшую поправку и воспользуемся методом prompt, чтобы с его помощью можно было самостоятельно занести в переменную sign либо дефис, либо любой другой знак. Смотрите пример ниже.
<script type = "text/javascript">
var tel = "8/927/31/10/765";
var sign = prompt("Введите дефис или любой другой знак");
function dash(tel,sign) /* Создаем функцию с двумя параметрами */
{
var regular = /\//g; /* Регулярное выражение - Слэш, который экранируется обратным слэшем + глобальный поиск g */
var result = tel.replace(regular,sign); /* Ищем все слэши и меняем их на содержимое переменной sign */
document.write(result);
}
dash(tel,sign); /* Создаем функцию с двумя параметрами */
</script>