移动端开发,H5对number输入框的一些处理

最近H5开发,用到了金额输入框,但是又没有定制金额键盘,所以就用type="number"调用系统的数字键盘。

需求需要,用户是不能输入除数字以为其它的内容的,金额最多只能输入到小数点后的两位,。

所以研究了一些,number键盘,当用户输入非数字时,取到的value为空,但是输入框展现的还是用户所输入的内容。

例如 :用户输入a,渠道的value 为空,但是输入框展现的为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=‘number‘ id = ‘number‘></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.value
            if(me.n.indexOf(".")>0){
                this.value = me.n;
            }
        }
    }())

</script>
</html>

可以试一下,这样几可以限制用户的输入

时间: 2024-10-12 16:24:15

移动端开发,H5对number输入框的一些处理的相关文章

基于webpack和vue.js搭建的H5端框架(其实主要用于Hybrid开发H5端框架,但是依然能够作为纯web端使用)

人类的发展得益于对追求不断的提升,在能活着的基础上是否要活得潇洒一点,技术的发展亦如是.在公司作为一个最最最最最最最底层的搬砖码农,经历了两个版本的铸(zhe)炼(mo)之后,我痛下决心今后一定要:…………..一定要和产品惺(shi)惺(bu)相(liang)惜(li). 开始之前 本文包含以下技术,文中尽量给与详细的描述,并且附上参考链接,读者可以深入学习: 1.webpack2.Vue.js3.npm4.nodejs —- 这个就不给连接了,因为上面的连接都是在你实践的过程中要去不断访问的5

移动端开发注意事项

移动端开发中需要注意的事项,以及可能需要用到一些框架,尾部总结了一些主流框架,如果你觉得有用的话,请点击推荐,谢谢! 一.关于meta 常见的公共meta属性: 1.viewport <meta  name="viewport"  content="width-device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0"> width=device-

备:移动端开发资源和小技巧

(在github上看到的,转摘而来,如果有版权问题请联系我[email protected]) mobileTech A useful tools or tips list for mobile web application developing 这个项目收集移动端开发所需要的一些资源与小技巧 移动端统计 (from BiosSun) 可基于下方所列出的统计数据来决定您要兼容的设备及浏览器. 百度移动统计 友盟指数 CNZZ 桌面及移动端浏览器统计 全球移动端浏览器统计 工具类网站 HTML5

WIFI物联网平台微信端开发分享

本文由企鹅圈原创成员Hunter_Zhu贡献. 本篇文章是基于近期一个项目微信端开发过程的一个总结.文中主要介绍了云智易平台下微信端开发的流程.该平台提供的主要功能以及此次H5开发使用到的一些UI组件.能够帮助企鹅仔高速对该平台微信开发有个了解. 本文介绍的微信硬件物联网开发思路不局限于某个平台.对市场上全部的平台,如机智云也是适用的,特此说明. 一.创建微信应用,配置微信server 在云智易开发平台中,开发人员须要在应用管理中创建一个微信应用,填写微信公众号的基本信息:APPID, APPS

优雅地进行移动端开发

对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)选取一款手机的屏幕宽高作为基准(比如 iphone6的375×667). 2)对于高清屏幕,为了达到高清效果,视觉稿的画布大小会是基准的2倍(对iphone6而言:原先的375×667,就会变成750×1334). 问题1:对于dpr=2的手机,为什么画布大小×2,就可以解决高清问题? 首先,我们要先了解一下 dpr 是什么? 设备像素比(简称dpr)定义了物理像素和设备独立像素的对应关系,它的值可以按如下的公式的

HTML5-前端开发很火且工资很高?

一 前言 晚上逛论坛看到一篇对从事HTML5前端开发的文章写的非常不错,和目前的市场形势差不多,然后我在其基础上给大家进行加工总结一下分享给大家.今天我们谈论的话题是<<为什么从事HTML5前端开发越来越火,工资高,并且还涨的快>>,针对这个问题进行分析分析. 俗话说的好:"没有调查,就没有发言权",同样在市场浪潮中,同样如果没有实际调查,不要轻易发表言论,误导他人. 现在主要从下面几个方面给大家进行总结和分析呢? 二 目录 HTML5前端开发的薪资 市场的供求

不要害怕服务端开发(一)

经历了前端技术的变更,发现我再也不想去追前端技术了,同学们做java的现在还是做java,我之前做flash的现在没饭吃了,去年改做h5,行业不好混啊,java稳如狗. 之前一直想学服务端开发,现在改变了工作环境,稍微有点时间了,加上最近上班的工作实在是闲,上头布置的游戏前端demo,用3d写了一个,然后用2d写了一个,后面又用h5写了一个. 也找不到好的形容词去形容现在的状态,因为还在试用期,所以不敢太冒进,一直停留在写demo的进度上. 昨天开始,学着用nodejs写来静态服务器. 然后今天

移动端开发高清效果和多屏适配

背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 首先,选取一款手机的屏幕宽高作为基准(以前是iphone4的320×480,现在更多的是iphone6的375×667). 对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对iphone6而言:原先的3

移动端开发(开始学习)

随着手机各种移动设备的风起云涌,移动开发慢慢成为开发主流,pc端会慢慢淡出主力地位. 有时间多学习移动端开发.老大如是给我们说... 自己不懂android,不懂ios.只做过wap开发,说到底还是java开发. 额,想学,还要花时间吧.静下心来,慢慢在工作空闲之余,先对移动端开发大格局有个大致的了解.在考虑学点吧,毕竟机会不多,自己已经落后了,慢慢自己创造机会才是啊. 就此造成我本来不平静的心更加不平静了,立马觉得压力上大,呵呵,心里素质怎么这么差啊. 以下自喷... ############