PageSourceSearch

https://softepil.com/mg-core/script/jquery.maskedinput.min.js?rev=1741774721

js softepil.com collected 2026-09-28 11:05:48 UTC 2,286 bytes, 75 lines download raw bytes

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.