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()函数,传入相应即可完成对输入是否是数字的限制

 

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值