удаление лишнего слеша
Здравствуйте!
есть строка в которой может быть произвольное количество лишних слешей. код внизу удаляет только если там 2 слеша. в результате должен их череды оставаться только один. Спасибо newStr = oldStr.replace('//','/'); |
var oldStr='//dad/////dadasdasd/////////asdasdads/'
var newStr = oldStr.replace(/\/{2,}/g,'/')
alert(newStr)
Гы |
Извините, невнимательно прочитал задание. |
Спасибо, первый вариант работает)!
|
а если это нужно сделать со строкой url, причем она может включать или не включать http
например 'http://site.ru//dad/////dadasdasd/////////asdasdads/' или 'site.ru//dad/////dadasdasd/////////asdasdads/' сделал так, если плохо пожалуйста сообщите как исправить
ff = 'http://site.ru//dad/////dadasdasd/////////asdasdads/'
ff2 = 'site.ru//dad/////dadasdasd/////////asdasdads/'
if (ff2 .indexOf('http')!= -1)
{
{
oldStr = ff2 .substr(7);
}
else
{
oldStr = ff2 .substr(0);
}
newStr = oldStr.split("//").join('/').split("//").join('/')
ff2 = ff2 .replace(oldStr,newStr);
}
|
Цитата:
А как сделать тоже самое только не со слешами, а с пробелами? |
Цитата:
var ff = 'http://site.ru//dad/////dadasdasd/////////asdasdads/';
var ff2 = 'site.ru//dad/////dadasdasd/////////asdasdads/';
var ff3 = '//site.ru//dad/////dadasdasd/////////asdasdads/';
function RelacStr (oldStr) {
oldStr = oldStr.replace(/^((?:http:)?\/\/)/g,'!!!$1!!!');
var newStr = oldStr.replace(/\/{2,}/g,'/').replace(/!!!(http:)?\/!!!/g,'$1//')
return newStr;
}
alert(RelacStr (ff ))
alert(RelacStr (ff2))
alert(RelacStr (ff3))
|
Цитата:
var oldStr=' dad dadasdasd asdasdads '
var newStr = oldStr.replace(/\s{2,}/g,' ')
alert(newStr)
|
Deff, Вы бы лучше кинули ему ссылку на статью с регами.
|
Цитата:
|
| Часовой пояс GMT +3, время: 05:57. |