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位则阻止输入