[转]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 ...
随机推荐
- Mondrian – 开源的矢量图形 Web 应用程序
Mondrian 是一个免费矢量图形 Web 应用程序,类似 Adobe Illustrator 或 Inkscape.Mondrian 提供所有所需的工具来创建.修改和导出简单的 SVG 文件,过历 ...
- 异常之Tomcat7.0服务器无法发布项目
今天突然就不能发布tomcat 7.0服务器了,并弹出对话框,报出如下错误: Cannot acquire J2EEFlexProjDeployable object for module test ...
- JS中数组排序
法一:升序原理:循环嵌套即双向遍历,在从前往后的遍历过程中,如果前一个位子大于后一个位子,把前一个位子的值付给后一个位子, 在从后往前遍历过程中如果前一个值大于后一个的值,把前面的值付给后面,过程中把 ...
- [实现]Javascript代码的另一种压缩与加密方法——代码图片转换
代码=图片 图片=代码 JS代码对于喜欢F12的同志来说,连个遮羞布都没有... 虽然把代码变成图片也仅仅只是增加一层纱布而已...但这方法还是挺好玩的,而且代码也被压缩了一点. 第一次看到[图片=代 ...
- swift学习笔记之-方法部分
//方法部分 import UIKit //方法(Methods) /*方法是与某些特定类型相关联的函数,类.结构体.枚举都可以定义实例方法 实例方法(Instance Methods): 1.属于某 ...
- SAP 使用较频繁的日期时间处理函数总结
在ABAP实际开发中,经常需要用到一些日期时间处理函数,个人感觉经常使用到的函数进行一下汇总 1. 根据工厂日历 计划交货日期 和 收货处理时间 来计算 销售计划中计划完工日期,其他类似日期计算等 ...
- sharepoint项目遇到的WebDAV和HTTP PUT的安全隐患解决办法
最近一个项目,客户进行了安全检测,检测出如下安全隐患,其实这些隐患全是IIS设置的事情 许多人误认为SharePoint是在使用由IIS提供的WebDAV功能. 实际上, SharePoint在S ...
- 对抽屉效果几大github第三方库的调研
在公司项目新版本方案选择中,对主导航中要使用的抽屉效果进行了调研.主要原因是旧的项目中所用的库ECS评价不是很好.现对当下比较火的几大热门抽屉效果的第三方库进行了调研.代码全部选自github 如果你 ...
- assign、retain、copy使用异同
1 三者的区别 首先,引用计数的概念:表示对象被引用的次数.当引用计数为 0 的时候,系统就会发送dealloc消息来释放内存. assign:用于基本数据类型,没有引用计数,因此不存在增加或减少引用 ...
- AFNetworking 3.0.4 的使用
本文永久链接:http://www.cnblogs.com/qianLL/p/5342593.html pod 'AFNetworking', '~>3.0.4' <-------第 ...