Много кода в скрипте
Помогите правильно написать функцию.
Мне надо нужно из строки удалить:
$("#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, время: 11:20. |