Много кода в скрипте
Помогите правильно написать функцию.
Мне надо нужно из строки удалить:
$("#ID").on('blur', function(){
var str = $(this).val();
str = str.replace(/\s+/g, ' ').trim();
str = str.replace(/\,,+/g, ',').trim();
str = str.replace(/\,+/g, ',').trim();
str = str.replace(/\s\,+/g, ',').trim();
str = str.replace(/\,\s+/g, ',').trim();
str = str.replace(/\s\|+/g, ',').trim();
str = str.replace(/\|\s+/g, '|').trim();
str = str.replace(/\|\s+/g, '|').trim();
str = str.replace(/\|\|+/g, '|').trim();
str = str.replace(/\,\|+/g, '|').trim();
str = str.replace(/,\s*$/, '');
str = str.replace(/\|*$/, '');
$(this).val(str.trim());
});
Вроде работает, но мне кажется это какой то бред))) в регулярках не разбираюсь особо(( Подскажите можно ли как то компактнее код сделать или может в JQuery какие то способы есть для этого более удобные. То что нужно на примере мне из этого: слово слово, слово, слово слово|слово , ,слово слово ,слово ,|слово ,слово ,слово слово ,слово | Нужно получить это: слово слово,слово,слово слово|слово,слово слово,слово|слово,слово,сло во слово,слово |
pautinaweb,
<script>
var str = "слово слово, слово, слово слово|слово , ,слово слово ,слово ,|слово ,слово ,слово слово ,слово |";
document.write(str + "<br>")
str = str.trim().replace(/([\s|,]+)([^\s|,]|$)/g, function(a, b, c) {
return (!c ? "" : /\|/.test(b) ? "|" : /,/.test(b) ? "," : " ") + c
});
document.write(str);
</script>
|
Ну это не совсем то, что мне нужно, самое главное для меня, это пробелы перед и после запятых, и слешей | убрать
|
Цитата:
var str='слово1, слово2 ,слово3 , слово4| слово5 |слово6 | слово7'; alert(str.replace(/\s*([,|])\s*/g,'$1')); |
Спасибо, за помощь сделал так:
var str='слово1, слово2 ,слово3 слово4 слово5, слово6 слово7,| слово8 слово9 слово10, слово11 |,слово12 , | слово13, слово14 слово15 |';
str = str.replace(/(,\s*$)|(\|*$)/, '');
str = str.replace(/(,\|+)|(\|,+)/g, '|');
str = str.replace(/\s*([,|])\s*/g,'$1').trim();
alert(str);
Код сократился, но если кто знает как сделать в ону строку, было бы вообще супер! |
Цитата:
;
str = str
|
Да это убрал, когда в функцию вставлял
|
| Часовой пояс GMT +3, время: 03:02. |