`

JavaScript开发类工具方法收集(一)

阅读更多

   相信大家做项目的时候,都会收集一些有用的小的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()函数,传入相应即可完成对输入是否是数字的限制

 

  

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics