html javaScript 只能输入数字
/**获取组件选中的内容 */
function getSelectText(obj) {if (window.getSelection) {if (obj.selectionStart != undefined && obj.selectionEnd != undefined) {return obj.value.substring(obj.selectionStart, obj.selectionEnd);} else {return "";}} else {return document.selection.createRange().text;}
}/**只能输入数字* |--> 参数:* |--> e:event* |--> maxLength:总长度最大值* |--> precision: 精度* |--> isNegativeNum: 是否可以输入负数(默认可以)*/
function noNumbers(e, maxLength, precision, isNegativeNum) {var keynum;var keychar;var numcheck;/*FireFox、Opera、Chrome 事件对应的函数有一个隐藏的变量e,表示发生事件。 e有一个属性e.which指示哪个键被按下,给出该键的索引值(按键码)。IE只有keyCode属性,FireFox中有which和charCode属性,Opera中有keyCode和which属性,Chrome中有keyCode、which和charCode属性。*/if (window.event) { //IE不需要e变量,window.event表示发生事件。keynum = e.keyCode;} else if (e.which) {keynum = e.which;}keychar = String.fromCharCode(keynum);//静态函数String.fromCharCode()可以把索引值(按键码)转化成该键对应的的字符。if (" " == keychar) {return false;}var currentSelectValue = e.currentTarget.value;// 判断是数字,且小数点后面只保留precision位小数if (!isNaN(keychar)) { //isNaN() 函数用于检查其参数是否是非数字值。非数字值为truevar index = currentSelectValue.indexOf(".");if (index >= 0 && currentSelectValue.length - index > precision) {var selectValue = getSelectText(e.currentTarget);if(selectValue && currentSelectValue.indexOf(selectValue) > -1){return true;}var cursorPosition = getCursorPosition(e.currentTarget);if(cursorPosition <= index){//判断整数位长度var integerLength = maxLength - precision;if(index >= integerLength){return false;}return true;}return false;}var selectValue = getSelectText(e.currentTarget);//有组件选中时,一不会超出长度if(selectValue && currentSelectValue.indexOf(selectValue) > -1){return true;}var maxLength_new = maxLength;if (currentSelectValue.indexOf(".") >= 0) {maxLength_new++;}//判断没有点,总长度大于等于最大值if(currentSelectValue.indexOf(".") < 0 && currentSelectValue.length >= maxLength_new-precision){return false;}return true;}// 如果是负号 但不能出现多个 且只能第一位是负号if ("-" == keychar) {if (currentSelectValue != "") {return false;}if(isNegativeNum) {return false;}if (currentSelectValue.indexOf("-") >= 0) {return false;}return true;}// 如果是小数点 但不能出现多个 且第一位不能是小数点 if ("." == keychar) {if(precision == 0) {return false;}if (currentSelectValue == "") {return false;}if (currentSelectValue.indexOf(".") >= 0) {return false;}//小数点插入时的处理var cursorPosition = getCursorPosition(e.currentTarget);if(currentSelectValue.length - cursorPosition > precision){e.currentTarget.value = currentSelectValue.substring(0,cursorPosition)+"."+currentSelectValue.substring(cursorPosition,precision+cursorPosition);return false;}return true;}return false;
}
/** 获取光标的位置 */
function getCursorPosition(obj){var cursurPosition=-1;if(obj.selectionStart){//非IE浏览器cursurPosition= obj.selectionStart;}else{//IEvar range = document.selection.createRange();range.moveStart("character",-obj.value.length);cursurPosition=range.text.length;}return cursurPosition;
}
html javaScript 只能输入数字相关推荐
- JS只能输入数字和小数点
javascript 替换函数全部替换方法 <script language="javascript"> var strM = "javascript is ...
- 用 JavaScript 验证只能输入数字,并做数字加总
开发系统时,常会需要将使用者在多个 TextBox 中输入的数字,做加总的计算,此时必须验证使用者只能输入数字.如下图 1 所示,有时可能还需要用 JavaScript 做数字的实时加总计算,并将计算 ...
- [转]JavaScript:只能输入数字(IE、FF)
本文转自:http://www.cnblogs.com/ly5201314/archive/2009/03/04/1402993.html JavaScript:只能输入数字(IE.FF) 为了解决只 ...
- javascript实现文本框只能输入数字和字母
以前曾经用javascript写过验证文本框只能输入小数(需要保留两位小数点)的例子,记得主要是通过判断eventkey或evencode来实现的,最经接手别人的项目要增加对文本框进行验证,只能输入数 ...
- php文本输入数字,JavaScript实现文本框只能输入数字的方法介绍
在我们日常开发中,为了更好的给用户带来体验,我们有的时候需要限制文本框输入内容的类型,这里我们很多时候都会使用到正则表达式来完成,今天我们就给大家介绍下JavaScript实现文本框只能输入数字.小数 ...
- 【 javascript】<input> 实现输入框只能输入数字(个人认为最好的)
<input> 实现输入框只能输入数字 需求背景: 方案一:使用`JS`限制 input 输入框只能输入纯数字 方案二:`VUE`使用`a-input-number组件`限制 input ...
- js只能输入数字,小数点(整理)
<html> <head> <meta http-equiv="content-Type" content="text/html;chars ...
- js控制只能输入数字和小数点
非常好用,代码示例如下: <input onkeypress = "return event.keyCode>=48&&event.keyCode<=57 ...
- 控制HTML Input只能输入数字和小数点
转:https://www.cnblogs.com/esion/p/3342866.html 本文介绍三种控制在中只允许输入数字和小数点的方案. 方案1:通过JavaScript代码实现. JavaS ...
最新文章
- ado.net操作数据库常用方法集锦
- linux磁盘空间清理
- 教务处管理系统c语言编程,基于C语言的教务管理系统的设计
- 【转】ABAP的坑2
- 广联达2018模板算量步骤_广联达GTJ2021操作教程:造价小白3天速成,计量效率翻倍...
- 熟悉linux系统内核,[科普] Linux 的内核与 Linux 系统之间的关系
- 管理软件公司与互联网公司的区别
- Docker垃圾清理方案
- iOS开发UI篇—Quartz2D使用(矩阵操作)
- PrintWrite
- 【深度学习-花书】第二章 线性代数
- 手机腾讯视频离线缓存ts格式文件合并为完整视频
- Cisco ❀ QinQ技术与VXLAN技术的区别
- MATLAB 中跳出if条件判断
- 年终固定资产盘点报告可一键生成
- win10连接android手机助手下载,完美Win10手机助手电脑版
- java fx 内置图标_DOC-05-01 使用内置的布局面板
- c8网络语言意思,老外常用的网络英文缩写
- 题解 CF133A 【HQ9+】
- ORB_原理与源码解析