Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   замена строки, упрощение (https://javascript.ru/forum/misc/30811-zamena-stroki-uproshhenie.html)

bpystep 16.08.2012 18:44

замена строки, упрощение
 
Добрый день, есть работающий код, но написан по-индусски. Расскажите как упросить, если такое возможно.

function addCheckbox() {
	var elem = event.target;
	if (elem.checked) {
		document.getElementById('checkboxes').value += ','+elem.value+',';
	}
	else {
		if (regular(elem.value,'g',document.getElementById('checkboxes').value)) {	
			document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.replace(elem.value,'');
		}
	}
	if (document.getElementById('checkboxes').value[document.getElementById('checkboxes').value.length-1] == ',') {
		document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.substr(0,document.getElementById('checkboxes').value.length-1);
	}
	if (document.getElementById('checkboxes').value[0] == ',') {
		document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.substr(1,document.getElementById('checkboxes').value.length);
	}
	if (regular(',,','g',document.getElementById('checkboxes').value)) {
		document.getElementById('checkboxes').value = document.getElementById('checkboxes').value.replace(',,',',');
	}
}
function regular(reg, flags, nValue) { //регулярка на совпадение
	var myReg = new RegExp (reg, flags);
	if (myReg.exec(nValue)) return true;
	else return false;
}

nerv_ 16.08.2012 20:19

Допустим расскажу, профит?


Часовой пояс GMT +3, время: 03:00.