关于JS验证数字问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 21:43:25
有一个input
要求在onkeyup 时 判断输入的键是否数字或者[小数点]
如果不是 return false;即 用户在上面按abc没反应。
如果是粘贴事件 去掉其中的其他字符 只保留 数字和小数点(注意只能一个)
提供正则表达式^(([1-9]\d*)|0)(\.\d{1,2})?$
最好函数传参是(this)

<script language="javascript">
<!--
function validateInput()
{
var keyCode = event.keyCode;
if (keyCode)
{
if (!((keyCode>=48 && keyCode<=57) || (keyCode>=96 && keyCode<=105) || keyCode==110 || keyCode==190 || (event.ctrlKey && keyCode==86)))
{
event.returnValue = false;
}
}
}

function validatePaste()
{
var pasteData = clipboardData.getData("text");
alert(pasteData);
var result = "";
var hasPoint = false;
if (pasteData)
{
for (var i=0;i<pasteData.length;i++)
{
var c = pasteData.charAt(i);
if (/\d/.test(c))
{
result += c;
}
else if (c=='.' && !hasPoint)
{
result += c;
hasPoint = true;
}
}
}
clipboardData.setData("text",result);
retu