|
|
#1 |
|
Участник
|
Маска ввода
Добрый день.
Никак не могу настроить маску ввода для IP, формат 255.255.255.255 Делаю так: Код: // Маска ввода IP
function OnCrmPageLoad() {
// первым параметром задается имя поля, а вторым маска
Mask( "new_ipnaznacheniya" , "###.###.###.###" );
}
function Mask( fieldId , mask ) {
field = document.getElementById(fieldId);
field.mask = mask.split("");
field.regex = new RegExp(escapeRegEx(mask.replace(/#/gi,"").split("")),"gi");
field.title += " " + mask;
field.attachEvent( "onchange" , MaskOnFieldChange );
}
function escapeRegEx( chars ) {
// если один из этих символов встретится при вводе не на своем месте (определенном в маске), то будет удален!
var regChars = "+_)(*^$[]-?{}";
var regExprs = "";
var run2Index = chars.length - 1;
for( var i = 0 ; i < run2Index ; i++ ) Concat( chars[i] , "|" );
Concat(chars[run2Index]);
function Concat( c , d ) {
regExprs += (( regChars.indexOf(c) != -1 )? "\\":"" ) + c + d;
}
return regExprs;
}
function MaskOnFieldChange() {
var field = event.srcElement;
if( field.DataValue == null ) return;
var arrDataValue = field.DataValue.replace(field.regex,"").split("");
var arrResult = [];
for(var i=0 , j=0 ; i < field.mask.length ;i++)
arrResult[i] = (field.mask[i] != "#")?field.mask[i]:arrDataValue[j++];
field.DataValue = arrResult.join("");
}
OnCrmPageLoad();Подскажите, что не так? |
|
|
|
|
#2 |
|
Консультант-джедай
|
в эту строчку var regChars = "+_)(*^$[]-?{}";
добавьте символ "." (точка)
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога
|
|
|
|
| За это сообщение автора поблагодарили: Dekan (1). | |
|
|
#3 |
|
Участник
|
Спасибо,
|
|
|