>  기사  >  웹 프론트엔드  >  숫자 입력창의 H5 처리 예

숫자 입력창의 H5 처리 예

零下一度
零下一度원래의
2017-06-26 13:29:291430검색

최근 H5 개발에서는 금액 입력란을 사용했지만, 맞춤 금액 키보드가 없어 시스템의 숫자 키보드를 호출하기 위해 type="number"를 사용했습니다.

요구 사항에 따라 숫자 이외의 내용은 입력할 수 없습니다. 금액은 최대 소수점 이하 두 자리까지만 입력할 수 있습니다.

그래서 숫자 키보드에 대해 조사해봤습니다. 사용자가 숫자가 아닌 값을 입력하면 얻은 값은 비어 있지만 입력 상자에는 여전히 사용자가 입력한 내용이 표시됩니다.

예: 사용자가 a를 입력하면 채널 값이 비어 있지만 입력 상자에는 a가 표시됩니다. 특수한 경우(사용자가 2.를 입력하면 얻은 값은 2이고 입력 상자에 2가 표시됩니다.)

<!DOCTYPE html><html><head><title>demo5</title><meta charset="utf-8"><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="viewport"content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /><style type="text/css"></style></head><!-- 禁用复制 ,除去一些不必要的因素 --><body onpaste="return false"><div><input type=&#39;number&#39; id = &#39;number&#39;></div></body><script type="text/javascript">var me = window;
    (function init(){
        me.number = getId('number');
        me.n = '';
        initEvent();        function initEvent(){
            me.number.addEventListener('keyup', number, false);
        }function getId(id){return document.getElementById(id);
        }function number(){//金额,            console.log(this.value);if(this.value == ''){//校验,用户输入后,输入框的值是否为数字,当不为数字时,取到的为空this.value='';this.value = me.n;return}if(!/^\d{0,9}\.{0,1}(\d{1,2})?$/.test(this.value)){//校验不超过两位小数this.value = me.n;
            }if(window.event.keyCode != 8){if(this.value%1==0 && me.n==this.value){//当用户按下非删除键时,新值和旧值相同,旧值为整数return}if(me.n.indexOf(".")>-1 && me.n==this.value){//当用户按下非删除键时,新值和旧值相同,旧值为小数this.value='';this.value = me.n;return}
            }else{if(me.n.indexOf(".")>-1 && this.value.indexOf(".")<0){//当按下删除时,删掉小数点时                    me.n = this.value;return}
            }
            me.n = this.valueif(me.n.indexOf(".")>0){this.value = me.n;
            }
        }
    }())</script></html>

시도해 볼 수 있습니다. 이렇게 하면 사용자의 입력을 제한할 수 있습니다

위 내용은 숫자 입력창의 H5 처리 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.