<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
//正整数的验证
function valNum(ev)
{
if(window.event.shiftKey)
{
ev.returnValue = "";
}
else
{
var e = ev.keyCode;
//允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V
if(e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)
{
if(ev.ctrlKey == false)
{
//不允许的就清空!
ev.returnValue = "";
}
else
{
//验证剪贴板里的内容是否为数字!
valClip(ev);
}
}
}
}
//验证剪贴板里的内容是否为数字!
function valClip(ev)
{
//查看剪贴板的内容!
try
{
var content = clipboardData.getData("Text");
if(content != null)
{
var test = parseInt(content);
var str = "" + test;
if(isNaN(test) == true)
{
//如果不是数字将内容清空!
clipboardData.setData("Text","");
}
else
{
if(str != content)
clipboardData.setData("Text", str);
}
}
}
catch(e)
{
//清空出现错误的提示!
alert("粘贴出现错误!");
}
}
//验证浮点数
function valFloat(ev,thisValue)
{
if(window.event.shiftKey==false)
{
if(thisValue!="")
{
var e = ev.keyCode;
var re=//./g;
var arr;
if((arr = re.exec(thisValue)) == null)
{
//允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V,小数点
if(e!=190 && e!=110&& e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)
{
if(ev.ctrlKey == false)
{
//不允许的就清空!
ev.returnValue = "";
}
else
{
//验证剪贴板里的内容是否为浮点数!
valFloatClip(ev);
}
}
}
else
{
//允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V,小数点
if( e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 9)
{
if(ev.ctrlKey == false)
{
//不允许的就清空!
ev.returnValue = "";
}
else
{
//验证剪贴板里的内容是否为浮点数!
valFloatClip(ev);
}
}
}
}
else
{
valNum(ev);
}
}
else
{
ev.returnValue = "";
}
}
//验证剪贴板里的内容是否为浮点数字!
function valFloatClip(ev)
{
//查看剪贴板的内容!
try
{
//如果不是数字将内容清空!
var content = clipboardData.getData("Text");
if(content != null)
{
var test = parseFloat(content);
var str = "" + test;
if(isNaN(test) == true)
{
//如果不是数字将内容清空!
clipboardData.setData("Text","");
}
else
{
if(str != content)
clipboardData.setData("Text", str);
}
}
}
catch(e)
{
//清空出现错误的提示!
alert("粘贴出现错误!");
}
}
//正则float
function validfloat(thisValue)
{
var rgExp=/((-//d+(//.//d+)?)|(0+(//.0+)?))/;
var str=thisValue;
if(rgExp.exec(str))
{
return true;
}
else
{
return false;
}
}
</script>
</head>
<body>
<form runat="server">
正整数<input id="Text1" type="text" οncοntextmenu=window.event.returnValue=false οnkeydοwn=" valNum(event);" style="ime-mode: Disabled;" />
浮点数<input id="Text2" type="text" οncοntextmenu=window.event.returnValue=false οnkeydοwn=" valFloat(event,this.value);" style="ime-mode: Disabled;" />
</form>
</body>
</html>
完美的文本只能输入数字问题!
最新推荐文章于 2024-06-28 17:29:14 发布