首页 > 解决方案 > 如何配置验证码的html输入?

问题描述

我有一个 4 位数字的验证码(例如 3253) 我需要用户从其移动设备上输入它。

在此处输入图像描述

<input inputmode="numeric"  maxlength="4"  placeholder="Code" />

这样的东西可以工作,但我仍然可以在我的 Android 设备上输入“ .”和“ ”。,

我如何防止那些坏男孩(“ .”,“ ,”)?

标签: javascripthtmlcssmobile

解决方案


试试下面的代码

<input inputmode="numeric"  maxlength="4"  placeholder="Code" onkeypress='validate(event)' />
function validate(evt) {

            var theEvent = evt || window.event;
            if (theEvent.type === 'paste') {
                key = event.clipboardData.getData('text/plain');
            } else {
                var key = theEvent.keyCode || theEvent.which;
                key = String.fromCharCode(key);
            }

            var regex = /[0-9]|\./;

            if (!regex.test(key)) {
                theEvent.returnValue = false;
                if (theEvent.preventDefault) theEvent.preventDefault();
            }

        }

或者

<input type=text onkeypress="return /^-?[0-9]*$/.test(this.value+event.key)">

推荐阅读