21.10.2009, 10:24 | #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(); Подскажите, что не так? |
|
21.10.2009, 11:17 | #2 |
Консультант-джедай
|
в эту строчку var regChars = "+_)(*^$[]-?{}";
добавьте символ "." (точка)
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
|
За это сообщение автора поблагодарили: Dekan (1). |
21.10.2009, 11:40 | #3 |
Участник
|
Спасибо,
|
|