[转]OnKeyDown Numeric Validator CLIENT SIDE
本文转自:http://forums.asp.net/t/1211724.aspx?OnKeyDown+Numeric+Validator+CLIENT+SIDE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Numbers Only Textbox by Josh Stodola</title>
<script type="text/javascript">
function numbersOnly(e) {
var evt = (e) ? e : window.event;
var key = (evt.keyCode) ? evt.keyCode : evt.which; if(key != null) {
key = parseInt(key, 10); if((key < 48 || key > 57) && (key < 96 || key > 105)) {
if(!isUserFriendlyChar(key))
return false;
}
else {
if(evt.shiftKey)
return false;
}
} return true;
} function isUserFriendlyChar(val) {
// Backspace, Tab, Enter, Insert, and Delete
if(val == 8 || val == 9 || val == 13 || val == 45 || val == 46)
return true; // Ctrl, Alt, CapsLock, Home, End, and Arrows
if((val > 16 && val < 21) || (val > 34 && val < 41))
return true; // The rest
return false;
}
</script>
</head>
<body>
<h1>Numbers Only Textbox by Josh Stodola</h1>
<input type="text" onkeydown="return numbersOnly(event);" onpaste="return false;" />
</body>
</html> 强化后:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Numbers Only Textbox by Josh Stodola</title>
<script type="text/javascript">
function numbersOnly(obj,e,afterPointLength) {
if (typeof(afterPointLength)==='undefined') afterPointLength = 3; var evt = (e) ? e : window.event;
var key = (evt.keyCode) ? evt.keyCode : evt.which;
var value = obj.value; if ((value.indexOf('.') != -1))
{
// alert(value.substring(value.indexOf('.')).length );
} if(key != null) {
key = parseInt(key, 10); //只能输入一个小数点
if( (key == 110 && value.indexOf(".") < 0)
|| (key == 190 && value.indexOf(".") < 0) ){
//alert(value.length);
//第一位不能是小数点
if(value.length == 0){
return false;
}else{
return true;
}
} if((key < 48 || key > 57) && (key < 96 || key > 105)) {
if(!isUserFriendlyChar(key)){
return false;
} }
else {
if(evt.shiftKey)
return false;
}
} //小数点后2位
if ((value.indexOf('.') != -1)){
if (value.substring(value.indexOf('.')).length > afterPointLength)
// && (event.which != 0 && event.which != 8)
// && ($(this)[0].selectionStart >= text.length - 2)
{
if(!isUserFriendlyChar(key)){
return false;
}
}
} return true;
} function isUserFriendlyChar(val) {
// Backspace, Tab, Enter, Insert, and Delete
if(val == 8 || val == 9 || val == 13 || val == 45 || val == 46)
return true; // Ctrl, Alt, CapsLock, Home, End, and Arrows
if((val > 16 && val < 21) || (val > 34 && val < 41))
return true; // The rest
return false;
}
</script>
</head>
<body>
<h1>Numbers Only Textbox by Josh Stodola</h1>
<input type="text" onkeydown="return numbersOnly(this,event);" onpaste="return false;" />
</body>
</html>
[转]OnKeyDown Numeric Validator CLIENT SIDE的更多相关文章
- Hello Vagrant
回想以前,想要安装个虚拟机是多么的麻烦.先要费尽心机找到想要的操作系统镜像文件,然后安装虚拟化软件,按照其提供的GUI界面操作一步步创建,整个过程费时费力.但是,自从使用了Vagrant以后,咱腰不酸 ...
- Window vagrant 安装部署【转】
回想以前,想要安装个虚拟机是多么的麻烦.先要费尽心机找到想要的操作系统镜像文件,然后安装虚拟化软件,按照其提供的GUI界面操作一步步创建,整个过程费时费力.但是,自从使用了Vagrant以后,咱腰不酸 ...
- handsontable-developer guide-cell function
renderer 展示的数据不是来自于数据源,而是先把DOM和其他信息传给renderer,然后展示. //五种展示函数 TextRenderer: default NumericRenderer A ...
- guacamole实现虚拟键盘
要做的事情比较简单,就是先实例化一个虚拟键盘,然后监听事件即可. js代码 //虚拟键盘数据 var a = {"language":"en_US"," ...
- Handsontable vue如何实现在线编辑excal
官网地址:https://handsontable.com/ 1.实现效果 2.安装 import { HotTable } from '@handsontable/vue' import Hands ...
- Hibernate Validator 6.0.9.Final - JSR 380 Reference Implementation: Reference Guide
Preface Validating data is a common task that occurs throughout all application layers, from the pre ...
- Axis 1 https(SSL) client 证书验证错误ValidatorException workaround
Axis 1.x 编写的client在测试https的webservice的时候, 由于client 代码建立SSL连接的时候没有对truststore进行设置,在与https部署的webservic ...
- HttpClient_javax.net.ssl.SSLHandshakeException: sun.security.validator 问题解决,与环境有关
用httpclient访问https 资源时,会出现异常,与环境也有关系,有些机器请求正常. javax.net.ssl.SSLHandshakeException: sun.security.val ...
- MVC client validation after PartialView loaded via Ajax MVC3中 弹出 Dialog时候 提交的时候 使用 Jquery 不验证 form表单 的解决办法
I came across this scenario whereby my main View uses Ajax posts to retrieve PartialViews and delive ...
随机推荐
- JavaScript实战(原生range和自定义特效)
今天我又码了两个特效:一个是用原生input[type=range]的,另一个完全自定义的:下面是完整代码和演示: #tip{ position: absolute; top: 30px; left: ...
- Sublime Text 3汉化中文版
Sublime Text 3汉化中文版是Sublime Text2的升级版.Sublime Text 是一款流行的文本编辑器软件,有点类似于TextMate,跨平台,可运行在Linux,Windows ...
- sharepoint多个NLB的web前段如何进行文件同步?
大家都知道,sharepoint2010服务器场可能有2个或2个以上的web服务器做NLB,有个时候牵涉到上传文件到文件夹(说到这里,有人会说全部以二进制文件保存到文档库啊,但是有些情况不允许的,比如 ...
- JSON解析实例——使用Json-lib
JSON解析实例——使用Json-lib Json-lib下载及使用 本文介绍用一个类库进行JSON解析. 工具下载地址:http://sourceforge.net/projects/json-li ...
- Android 手机卫士--home界面布局
本文实现当从splash界面进入hone界面的时候,产生一种渐进淡入的动画效果,在onCreate中调用一个方法initAnimation(),代码如下: /** * 添加淡入的动画效果 */ pri ...
- Android 字符乱码问题的处理
<Android 网络HTML查看器>一文中,运行代码实践一下 发现html源代码中出现了乱码,原因很明显:charset="gb2312" android默认的字符集 ...
- Ubuntu下使用Git和GitHub
刚刚学习git和github,网上的知识太杂太乱.照着折腾了很长的时间,都没有搞出个结果,心里十分痒痒,最后终于在github上看到成果.本文适合刚刚接触github但是急于想看到效果的同学,当然gi ...
- ArrayList Vector LinkedList 区别与用法
转载自: http://www.cnblogs.com/mgod/archive/2007/08/05/844011.html 最近用到了,所以依然是转载 ArrayList 和Vector是采用数组 ...
- IOS 手势详解
在IOS中手势可以让用户有很好的体验,因此我们有必要去了解一下手势. (在设置手势是有很多值得注意的地方) *是需要设置为Yes的点击无法响应* *要把手势添加到所需点击的View,否则无法响应* 手 ...
- ios 各种机型屏幕尺寸大小