js正则表达式控制文本框输入浮点数

//首先定义另个js方法 regInput 和  oncheckLength

//验证输入是否合法

function regInput(obj, reg, inputStr) {

   var docSel = document.selection.createRange()

   if (docSel.parentElement().tagName != "INPUT") return false

   oSel = docSel.duplicate()

   oSel.text = ""

   var srcRange = obj.createTextRange()

   oSel.setEndPoint("StartToStart", srcRange)

   var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)

   return reg.test(str)

}

//截取小数点后几位小数,

function oncheckLength(tag) {

   //小数位数只要修改  format的第一个参数就行

   tag.value = tag.value.trim().format(2, true);

}

   //input调用  如果数据输入整数时 在光标移开 调用oncheckLength方法自动填充小数点

   //如果不需要自动填充小数点后位数,则取消onblur方法

   <asp:TextBox ID="txtVihiclePrice" runat="server" Width="70%" onkeypress="return regInput(this,/^\d*\.?\d{0,2}$/,String.fromCharCode(event.keyCode))"onblur="oncheckLength(this)"></asp:TextBox>


//实现效果:

   输入:20   光标移开显示:20.00

   输入:20.3 光标移开显示:20.30

   如果输入小数点后超过2位则阻止输入