JS控制光标选中文本和检测文本是否为数字

找到一篇比较详细的JS控制光标: https://www.cnblogs.com/xupeiyu/p/5985598.html

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript">

        // 焦点离开做数字检测,重置为0并选中
        function Textbox_onblur(pElement){
            var tElementId = pElement.id;
            if(checkIsNum(tElementId)==false){
                pElement.value = 0;
                setSelectTextAll(tElementId);
                pElement.style.backgroundColor="#FF0000";
                pElement.focus();
            }else{
                pElement.style.backgroundColor="#FFFFFF";
            }
        }

        //数字检测
        function checkIsNum(pElementId){
            var tNumber=document.getElementById(pElementId).value;

            if (!(/^(-)?(([1-9]{1}\d*)|([0]{1}))(\.(\d){1,4})?$/.exec(tNumber))) {
                return false; // 非数字
            }

            return true;
        }

        //选中指定控件所有文本
        function setSelectTextAll(pElementId){
            var tElementValue = document.getElementById(pElementId).value;

            setSelectText(pElementId,0,tElementValue.length);
        }

        //选中指定控件指定位置文本
        function setSelectText(p_el,p_start,p_end){
            var tElement = document.getElementById(p_el);

            // 设置光标
            if(tElement.createTextRange){
                var Range=tElement.createTextRange();
                Range.collapse();
                Range.moveEnd('character',p_end);
                Range.moveStart('character',p_start);
                Range.select();
            }

            // 光标选中
            if(tElement.setSelectionRange){
                    tElement.focus();  
                    tElement.setSelectionRange(p_start,p_end);  //设光标选中位置 
                }
            }
    </script>
</head>


<body>
    测试选中全部文本<br>
    <input id="Textbox1" type="text"  />
    <input type="button"  style="width:125px;height:25px;" value = "点击选中全部文本" οnclick="setSelectTextAll('Textbox1')" ></button>
    <br>
    <br>
    光标离开检测是否为数字,非数字加红底色并重置为数字0<br>
    <input id="Textbox" type="text" οnblur="Textbox_onblur(this)" />
    
</body>
</html>




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值