Maison > interface Web > js tutoriel > le corps du texte

Exemple de traitement H5 de la zone de saisie numérique

零下一度
Libérer: 2017-06-26 13:29:29
original
1446 Les gens l'ont consulté

Dans le développement récent de H5, la zone de saisie du montant a été utilisée, mais il n'y avait pas de clavier de montant personnalisé, donc type="number" a été utilisé pour appeler le clavier numérique du système.

Selon les exigences, les utilisateurs ne peuvent pas saisir de contenu autre que des chiffres. Le montant ne peut être saisi qu'à deux décimales au maximum.

J'ai donc fait quelques recherches sur le clavier numérique. Lorsque l'utilisateur saisit un non-chiffre, la valeur obtenue est vide, mais la zone de saisie affiche toujours le contenu saisi par l'utilisateur.

Par exemple : l'utilisateur saisit a, la valeur du canal est vide, mais la zone de saisie affiche un cas particulier (lorsque l'utilisateur saisit 2., la valeur obtenue est 2, et la zone de saisie affiche 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>
Copier après la connexion

Vous pouvez l'essayer, de cette façon vous pouvez limiter la contribution de l'utilisateur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal