// Client Side JavaScript function function inputNumber(thisEvent, showComma, minDigits, maxDigits) { var minDigits = minDigits ? minDigits : 0; var maxDigits = maxDigits ? maxDigits : 100; // skip for arrow keys, tab key, and shift+tab var code = thisEvent.which || thisEvent.keyCode; if ( (code >= 37 && code <= 40) || code == 9 || code == 16) return; // trim number var trimmedNumber = thisEvent.target.value.replace(/\D/g, "").substring(0, maxDigits); // minimum length requirement if (thisEvent.type == "blur" && trimmedNumber.length > 0 && trimmedNumber.length < minDigits) { alert(trimmedNumber + " does not meet the minimum length requirement of " + minDigits + "."); thisEvent.target.value = ""; window.scrollTo(0,0); thisEvent.target.focus(); return; } var commaValue = trimmedNumber.replace(/\B(?=(\d{3})+(?!\d))/g, ","); thisEvent.target.value = showComma ? commaValue : trimmedNumber; } // XPage Edit Box <xp:inputText id="FieldId"> <xp:eventHandler event="onblur" submit="false"> <xp:this.script><![CDATA[inputNumber(thisEvent, true, 4, 6); ]]></xp:this.script> </xp:eventHandler> <xp:eventHandler event="onkeyup" submit="false"> <xp:this.script><![CDATA[inputNumber(thisEvent, true, 4, 6);]]></xp:this.script> </xp:eventHandler> </xp:inputText>