Благодарю, а  replace(/./    и replace(/.?.?/ чего такое и для чего?
18 строчка  this.value=''; какое отличие?  
у себя сделал чуть по другому но и так тоже работает 
var str='';
function Input_MAC(){
Temp=document.getElementById("id_Mac");
		if (str.length==2) {
			if (Temp.selectionStart<3) {
				//Temp.value=Temp.value.replace(/./,'');
				Temp.value='';
				console.log(Temp.value);
			};
			Temp.value=Temp.value.replace(/.?.?/,str);
			console.log(Temp.value);
		} else {
			str=Temp.value.slice(0,2);
		};	
	
}