用正则就行了,
验证金额带2位小数点
<script>
function check(str){
if(/^(\d+|[1-9])\.\d{0,2}$/.test(str))
alert("ok");
else
alert("no");
}
</script>
<input name="txt">
<input type="button" value="check" onclick="javascript:check(txt.value)">
验证金额带2位小数点
<script>
function check(str){
if(/^(\d+|[1-9])\.\d{0,2}$/.test(str))
alert("ok");
else
alert("no");
}
</script>
<input name="txt">
<input type="button" value="check" onclick="javascript:check(txt.value)">
// num = 小数, n = 点儿后面位数, 默认不限制
function chkn(num, n){
if(n){
return new RegExp('^\\d+(?:\\.\\d{1,'+n+'})?$').test(num);
}else{
return new RegExp('^\\d+(?:\\.\\d+)?$').test(num);
}
}
</script>
比如新建个DIV, input onkeyup 的时候判断下chk返回的值, 然后把状态显示在那个DIV里
<tr>
<td width="75">购买数量:</td>
<td align="left"> <input id="quantityInput" size="5" name="goodsNum" maxlength=4 value="1"
onkeypress="return event.keyCode>=48&&event.keyCode<=57"
onpaste="var s=clipboardData.getData('text'); if(!/\D/.test(s)) value=s.replace(/^0*/,''); return false;"
ondragenter="return false" style="ime-mode:disabled"
onkeyup="if(/(^0+)/.test(value))value=value.replace(/^0*/, '')" />
(可购 1 件) </td>
</tr>
function check(str){
if(/^(\d+|[1-9])\.\d{0,2}$/.test(str))
alert("ok");
else
alert("no");
}
</script>
<input name="txt">
<input type="button" value="check" onclick="javascript:check(txt.value)">
function check(str){
if(/^(\d+|[1-9])\.\d{0,2}$/.test(str))
alert("ok");
else
alert("no");
}
</script>
<input name="txt">
<input type="button" value="check" onkeyup="javascript:check(txt.value)">
{
var txtstr=objtxt.value;
var keyvalue=String.fromCharCode(event.keyCode);//獲取輸入鍵值,用於進行實時驗證
if(/^\d{0,1}(\.\d{0,3})?$/.test(txtstr+keyvalue)==false)///判斷是否符合要求(正則表達式)
{
event.returnValue=false;//
}
}正則表達式中的1,3分別表示整數1位和小數3位。
function CheckValue(name){
if (event.srcElement.name == name || event.srcElement.name.indexOf(name)== event.srcElement.name.length-name.length){
if (String.fromCharCode(event.keyCode).search(/^[0-9-.]$/) == -1) event.returnValue = false;
}
}onkeypress事件
直接可用
{
return regInput( obj ,/^[+-]?\d*((\.\d{0,}$)|\d$|$)/, String.fromCharCode(event.keyCode) );
}function regInput(obj, reg, inputStr)
{
var docSel = document.selection.createRange()
if (docSel.parentElement().tagName.toUpperCase() != "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)
}给你个函数obj就是textbox的obj,<input onkeypress="return CheckNum(this);" ....>能实现时时效验。