- <!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>
来源: http://www.bubuko.com/infodetail-2102232.html