完美的文本只能输入数字问题!
来源:互联网 发布:传奇霸业数据汇总 编辑:程序博客网 时间:2024/05/01 12:51
<!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("粘贴出现错误!"); } }//正则floatfunction 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>