您的位置:首页 > 其它

完美的文本只能输入数字问题!

2008-06-26 16:53 211 查看
<!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"  oncontextmenu=window.event.returnValue=false onkeydown=" valNum(event);" style="ime-mode: Disabled;"  />

浮点数<input id="Text2" type="text" oncontextmenu=window.event.returnValue=false onkeydown=" valFloat(event,this.value);" style="ime-mode: Disabled;" />
</form>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: