相信大家做项目的时候,都会收集一些有用的小的javasciprt方法,或者开发一些应用于自己业务逻辑的JavaScript方法,但并不是每个项目中都会用到,往往上是项目数量一多,有些可重复使用的方法,在我们忙碌的工作中,却经常被不经意的忘记在自己的coding中; 其实项目中,比较深刻的感触到,每个项目中,我们都会有重复开发的一部分代码,这并不是因为我们的原因,而是因为项目组与项目组之间的交流太少,都是处于各自封闭的状态,有一种闭门造车的状态!因此,有了收集自己在项目中所用到一些JavaScript方法.
1. 限制只能输入小数,并且只能输入两位小数
legionInput Function:
//用于输入两位小数,并可以在小数点前增加数字功能 //author: dsy //date: 20080516 function legionInput(obj, reg, inputStr){ //获取一个选择对象范围 var docSel = document.selection.createRange(); oSel = docSel.duplicate(); //创建选择范围复本 oSel.text = ""; var srcRange = obj.createTextRange(); //创建文本范围 oSel.setEndPoint("StartToStart", srcRange); //设置结束端 var str = oSel.text + inputStr + srcRange.text.substr (oSel.text.length); return reg.test(str); }
CheckNumber Function:
/** * 检测主入口 * @author dsy * @param {Object} objId * @Date 20090523 */ function CheckNumber(objId){ var obj = document.getElementById(objId); obj.onkeypress = function(){ if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46) { event.returnValue = false; } else { return legionInput(this, /^\d*\.?\d{0,2}$/, String.fromCharCode(event.keyCode)); } } }
以上函数的使用方法,相当简单:
废话少说,上demo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>限制只能输入数字,并限制小数位</title> <script type="text/javascript"> //用于输入两位小数,并可以在小数点前增加数字功能 //author: dsy //date: 20080516 function legionInput(obj, reg, inputStr){ //获取一个选择对象范围 var docSel = document.selection.createRange(); oSel = docSel.duplicate(); //创建选择范围复本 oSel.text = ""; var srcRange = obj.createTextRange(); //创建文本范围 oSel.setEndPoint("StartToStart", srcRange); //设置结束端 var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length); return reg.test(str); } /** * 检测主入口 * @author dsy * @param {Object} objId * @Date 20090523 */ function CheckNumber(objId){ var obj = document.getElementById(objId); obj.onkeypress = function(){ if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 46) { event.returnValue = false; } else { return legionInput(this, /^\d*\.?\d{0,2}$/, String.fromCharCode(event.keyCode)); } } } window.onload = function() { CheckNumber("txt4") } </script> </head> <body> <input id="txt4" name="txt4" type="text" style="height: 24px;" size="15" /> </body> </html>
按上例所示:
只需在CheckNumber()函数,传入相应即可完成对输入是否是数字的限制