本文转自: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的更多相关文章

  1. Hello Vagrant

    回想以前,想要安装个虚拟机是多么的麻烦.先要费尽心机找到想要的操作系统镜像文件,然后安装虚拟化软件,按照其提供的GUI界面操作一步步创建,整个过程费时费力.但是,自从使用了Vagrant以后,咱腰不酸 ...

  2. Window vagrant 安装部署【转】

    回想以前,想要安装个虚拟机是多么的麻烦.先要费尽心机找到想要的操作系统镜像文件,然后安装虚拟化软件,按照其提供的GUI界面操作一步步创建,整个过程费时费力.但是,自从使用了Vagrant以后,咱腰不酸 ...

  3. handsontable-developer guide-cell function

    renderer 展示的数据不是来自于数据源,而是先把DOM和其他信息传给renderer,然后展示. //五种展示函数 TextRenderer: default NumericRenderer A ...

  4. guacamole实现虚拟键盘

    要做的事情比较简单,就是先实例化一个虚拟键盘,然后监听事件即可. js代码 //虚拟键盘数据 var a = {"language":"en_US"," ...

  5. Handsontable vue如何实现在线编辑excal

    官网地址:https://handsontable.com/ 1.实现效果 2.安装 import { HotTable } from '@handsontable/vue' import Hands ...

  6. 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 ...

  7. Axis 1 https(SSL) client 证书验证错误ValidatorException workaround

    Axis 1.x 编写的client在测试https的webservice的时候, 由于client 代码建立SSL连接的时候没有对truststore进行设置,在与https部署的webservic ...

  8. HttpClient_javax.net.ssl.SSLHandshakeException: sun.security.validator 问题解决,与环境有关

    用httpclient访问https 资源时,会出现异常,与环境也有关系,有些机器请求正常. javax.net.ssl.SSLHandshakeException: sun.security.val ...

  9. 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 ...

随机推荐

  1. Node.js Web 开发框架大全《中间件篇》

    这篇文章与大家分享优秀的 Node.js 中间件模块.Node 是一个服务器端 JavaScript 解释器,它将改变服务器应该如何工作的概念.它的目标是帮助程序员构建高度可伸缩的应用程序,编写能够处 ...

  2. 【zepto学习笔记03】事件机制

    前言 我们今天直接进入事件相关的学习,因为近期可能会改到里面的代码就zepto来说,我认为最重要的就是选择器与事件相关了,随着浏览器升级,选择器简单了,而事件相关仍然是核心,今天我们就来学习学习 ze ...

  3. go语言 类型:数组

    在go语言中数组array是一组特定长度的有序的元素集合. go的数组类型由两部分组成——类型和长度,二者缺一不可.数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定 ...

  4. [deviceone开发]-大家比较关注的应用内部升级

    一.简介 这个示例详细介绍了应用内升级的步骤,应用内升级是开发App必须的功能.推荐初学者学习. 二.效果图 三.相关下载 https://github.com/do-project/code4do/ ...

  5. asp.net正则模板引擎代码

    我们申明一个数组 ]; 接下来关键的正则表达式: RegexOptions options = RegexOptions.None; //嵌套模板标签(兼容) r[] = new Regex(@&qu ...

  6. swift学习笔记之-可选链式调用

    //可选链式调用 import UIKit /*可选链式调用(Optional Chaining) 1.在可选值上请求和调用该可选值的属性.方法及下标的方法,如果可选值有值,那么调用就会成功,返回可选 ...

  7. 【Bootstrap】2.作品展示站点

    假设我们已经想好了要给自己的作品弄一个在线站点.一如既往,时间紧迫.我们需要快一点,但作品展示效果又必须专业.当然,站点还得是响应式的,能够在各种设备上正常浏览,因为这是我们向目标客户推销时的卖点.这 ...

  8. Flex Viewer (二)——体系结构

    一.概述 在上一篇文章<深入浅出Flex Viewer (一)——概述>中,笔者对Flex Viewer用于构建以地图为中心的富客户端(RIA)应用的原型的功能和价值做了简要地介绍.在本文 ...

  9. SDWebImage 加载网络图片失败,重新运行,就能加载成功。

    现象: 使用SDWebImage 加载网络图片,偶尔会有一两张图片就是显示不出来.重新运行有时又可以了. 这个问题的原因是: 当SDWebImage 在加载图片的时候 我用的是- (void)sd_s ...

  10. FM四舍五入_从小数点最后一位进位

    原贴地址:http://jiahongguang12.blog.163.com/blog/static/334665720071060551591/ 输入参数12.5445,因此FM从小数点最后一位进 ...