1$(document).ready(function() { 2 if(phoneMask) { 3 maskAll = phoneMask;//'+7 (###) ### ##-##,+380 (##) ### ##-##,+375 (##) ### ##-##'; 4 savePos = 1; 5 tmpInputVal = ''; 6 7 // ÑÑавим плейÑÑ Ð¾Ð»Ð´ÐµÑ 8 tmpMask = maskAll.split(','); 9 mask = maskAll[0].replace(/[0-9]/g, '#'); 10 $('[name=phone]').attr('placeholder', tmpMask[0].replace(/#/g, '_')); 11 delete tmpMask 12 13 // ÑÑÑанавливаем маÑÐºÑ Ð¿Ñи ÑокÑÑе 14 $('body').on('focus', '[name=phone]', function() { 15 if($(this).val().indexOf('_') != -1 || $(this).val() == '') { 16 tmpMask = maskAll.split(','); 17 $(this).val(tmpMask[0].replace(/#/g, '_')); 18 delete tmpMask; 19 } 20 }); 21 22 // ÑбÑаÑÑваем маÑÐºÑ Ð¸ номеÑ, еÑли ниÑего не введено или не введено до конÑа 23 $('body').on('blur', '[name=phone]', function() { 24 if($(this).val().indexOf('_') != -1) { 25 $(this).val(''); 26 } 27 }); 28 29 $('body').on('input', '[name=phone]', function() { 30 // наÑалÑное опÑеделение Ñого, ÑÑо пÑоиÑÑ Ð¾Ð´Ð¸Ñ 31 input = $(this); 32 if(tmpInputVal.length < input.val().length) { 33 add = true; 34 } else { 35 add = false; 36 } 37 savePos = input.get(0).selectionStart; 38 phone = input.val().replace(/[^0-9]/g, ''); 39 newPhone = ''; 40 // опÑеделÑем нÑжнÑÑ Ð¼Ð°ÑÐºÑ 41 masks = maskAll.split(','); 42 for (i = 0; i < masks.length; i++) { 43 mask = masks[0].replace(/[0-9]/g, '#'); 44 maskNumber = masks[i].replace(/[^0-9]/g, ''); 45 if(maskNumber == phone.substring(0, maskNumber.length)) { 46 mask = masks[i].replace(/[0-9]/g, '#'); 47 i = 1000000; 48 } 49 } 50 // подгоÑовка нового ÑелеÑона по ÑÐ°Ð±Ð»Ð¾Ð½Ñ 51 setCursor = true; 52 for(i = 0, counter = 0; i < mask.length; i++) { 53 if(mask[i] == '#') { 54 if(phone[counter] == undefined) { 55 newPhone += '_'; 56 if(add && setCursor) { 57 savePos = i; 58 setCursor = false; 59 } 60 } else { 61 newPhone += phone[counter]; 62 } 63 counter++; 64 } else { 65 newPhone += mask[i]; 66 } 67 } 68 // вÑвод ÑелеÑона 69 input.val(newPhone); 70 // ÑÑÑановка кÑÑÑоÑа 71 input.get(0).setSelectionRange(savePos, savePos); 72 tmpInputVal = newPhone; 73 }); 74 } 75});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.