限制輸入框只能輸入數字(JQuery外掛程式)

來源:互聯網
上載者:User
/** * 限制輸入框只能輸入數字(JQuery外掛程式) *  * @author Johnson * * @example $("#amount").numeral() * * @example $("#amount").numeral(4) or $("#amount").numeral({'scale': 4}) * * @example $(".x-amount").numeral() **/$.fn.numeral = function() {var args = arguments;var json = typeof(args[0]) == "object";var scale = json ? args[0].scale : args[0];scale = scale || 0;$(this).css("ime-mode", "disabled");var keys = new Array(8, 9, 35, 36, 37, 38, 39, 40, 46);this.bind("keydown",function(e) {e = window.event || e;var code = e.which || e.keyCode;if (e.shiftKey) {return false;}var idx = Array.indexOf(keys, code);if (idx != -1) {return true;}var value = this.value;if (code == 190 || code == 110) {if (scale == 0 || value.indexOf(".") != -1) {return false;}return true;} else {if ((code >= 48 && code <= 57) || (code >= 96 && code <= 105)){if (scale > 0 && value.indexOf(".") != -1) {var reg = new RegExp("^[0-9]+(\.[0-9]{0," + (scale - 1) + "})?$");var selText = getSelection();if (selText != value && !reg.test(value)) {return false;}}return true;}return false;}});this.bind("blur", function() {if (this.value.lastIndexOf(".") == (this.value.length - 1)) {this.value = this.value.substr(0, this.value.length - 1);} else if (isNaN(this.value)) {this.value = "";} else {var value = this.value;if (scale > 0 && value.indexOf(".") != -1) {var reg = new RegExp("^[0-9]+(\.[0-9]{0," + scale + "})?$");if (!reg.test(value)) {this.value = format(value, scale);}}}});this.bind("paste", function() {var s = window.clipboardData.getData('text');if (!/\D/.test(s));value = s.replace(/^0*/, '');return false;});this.bind("dragenter", function() {return false;});var format = function(value, scale){return Math.round(value * Math.pow(10, scale)) / Math.pow(10, scale);}var getSelection = function(){if (window.getSelection) {return window.getSelection();} if (document.selection) {return document.selection.createRange().text;}return "";};Array.indexOf = function(array, value) {for (var i = 0; i < array.length; i++) {if (value == array[i]) {return i;}}return -1;}};

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.