Jquery 输入金额格式限制 插件
(function($) {
$.fn.extend({
money_mode: function(options) {
var defaults = {
decimal_length: 2,//小数点位数
format: "#,###.00",//格式化类型
locale: "us"
};
var options = $.extend(defaults, options);
var len = parseInt(options['decimal_length']);
return this.each(function() {
var input = $(this);
input.css("ime-mode", "disabled");
var decimal_point = false;
input.bind("keypress", function() {
if (event.keyCode == 46) {
if (input.val().indexOf(".") != -1 || (input.val().lastIndexOf(".") == (input.val().length - 1))) {
return false;
}
} else {
if (decimal_point)
return false;
else
return event.keyCode >= 46 && event.keyCode <= 57;
}
});
input.bind("blur", function() {
// begin失去焦点后字符串格式化
var formatData = formatCodes(options.locale.toLowerCase());
var valid = formatData.valid;
var dec = formatData.dec;
var group = formatData.group;
var neg = formatData.neg;
if (input.val() != null && input.val() != '') {
var text = new String(jQuery(input).text());
if (jQuery(input).is(":input"))
text = new String(jQuery(input).val());
var isValid = true;
for (var i = 0; i < text.length; i++) {
if (valid.indexOf(text.charAt(i)) == -1)
isValid = false;
}
if (isValid) {
var number = new Number(text.replace(group, '').replace(dec, ".").replace(neg, "-"));
var returnString = "";
var decimalValue = number % 1;
if (options.format.indexOf(".") > -1) {
var decimalPortion = dec;
var decimalFormat = options.format.substring(options.format.lastIndexOf(".") + 1);
var decimalString = new String(decimalValue.toFixed(decimalFormat.length));
decimalString = decimalString.substring(decimalString.lastIndexOf(".") + 1);
for (var i = 0; i < decimalFormat.length; i++) {
if (decimalFormat.charAt(i) == '#' && decimalString.charAt(i) != '0') {
decimalPortion += decimalString.charAt(i);
break;
}
else if (decimalFormat.charAt(i) == "0") {
decimalPortion += decimalString.charAt(i);
}
}
returnString += decimalPortion
}
else
number = Math.round(number);
var ones = Math.floor(number);
var onePortion = "";
if (ones == 0) {
onePortion = "0";
}
else {
// find how many digits are in the group
var onesFormat = "";
if (options.format.indexOf(".") == -1)
onesFormat = options.format;
else
onesFormat = options.format.substring(0, options.format.indexOf("."));
var oneText = new String(ones);
var groupLength = 9999;
if (onesFormat.lastIndexOf(",") != -1)
groupLength = onesFormat.length - onesFormat.lastIndexOf(",") - 1;
var groupCount = 0;
for (var i = oneText.length - 1; i > -1; i--) {
onePortion = oneText.charAt(i) + onePortion;
groupCount++;
if (groupCount == groupLength && i != 0) {
onePortion = group + onePortion;
groupCount = 0;
}
}
}
returnString = onePortion + returnString;
if (number < 0)
returnString += neg;
if (jQuery(this).is(":input"))
jQuery(this).val(returnString);
else
jQuery(this).text(returnString);
}
}
// end 失去焦点后字符串格式化
})
input.bind("paste", function() {
var s = clipboardData.getData('text');
if (!//D/.test(s));
value = s.replace(/^0*/, '');
return false;
})
input.bind("dragenter", function() {
return false;
})
input.bind("keyup", function() {
if (input.val() != null && input.val() != '') {
if (input.val().indexOf(".") == -1) {
return true;
}
else {
var decimalIndex = input.val().indexOf('.');
var decimalPart = input.val().substring(decimalIndex + 1, input.val().length);
if (decimalPart.length == len) {
decimal_point = true;
return false;
}
else
return true;
}
}
else {
decimal_point = false;
return false;
}
});
});
}
});
function formatCodes(locale) {
// default values
var valid = "1234567890.,-";
var dec = ".";
var group = ",";
var neg = "-";
if (locale == "us" || locale == "cn" || locale == "tw") {
valid = "1234567890.,-";
dec = ".";
group = ",";
}
return new FormatData(valid, dec, group, neg);
};
function FormatData(valid, dec, group, neg) {
this.valid = valid;
this.dec = dec;
this.group = group;
this.neg = neg;
};
})(jQuery);
Jquery 输入金额格式限制 插件的更多相关文章
- jquery.inputmask.js 输入框input输入内容格式限制插件
今天使用的就是这几行代码. 利用 jquery.inputmask.js 下载地址(如果打不开的话 请FQ http://plugins.jquery.com/jquery.inputmask/) ...
- jquery.inputmask 输入框input输入内容格式限制插件
jQuery Input Mask plugin http://robinherbots.github.io/jquery.inputmask README.md jquery.inputmask C ...
- jquery限制文本框只能输入金额
$("#batch_diff_percent").keyup(function () { var reg = $(this).val().match(/\d+\.?\d{0,2}/ ...
- jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...
- jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...
- jQuery Validate 表单验证插件----在class属性中添加校验规则进行简单的校验
一.下载插件包. 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二.jQuery表单验证插件----添加class属性形式的校验 <!DOCTY ...
- jQuery Validate 表单验证插件----Validate简介,官方文档,官方下载地址
一. jQuery Validate 插件的介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆 ...
- jquery表单验证使用插件formValidator
JQuery表单验证使用插件formValidator 作者: 字体:[增加 减小] 类型:转载 时间:2012-11-10我要评论 jquery表单验证使用插件formValidator,可供有需求 ...
- jQuery formValidator表单验证插件
什么是jQuery formValidator? jQuery formValidator表单验证插件是客户端表单验证插件. 在做B/S开发的时候,我们经常涉及到很多表单验证,例如新用户注册,填写个人 ...
随机推荐
- "const wchar_t is incompatible with parameter of type "LPCSTR"
MessageBox(NULL, L"TEST", L"TEST", MB_OK); You may get this error if you "U ...
- 九度OJ 1528 最长回文子串 -- Manacher算法
题目地址:http://ac.jobdu.com/problem.php?pid=1528 题目描述: 回文串就是一个正读和反读都一样的字符串,比如"level"或者"n ...
- Android_Json实例
概要: 最近由于自己的兴趣,想在Android开发一个自己的App,需要使用服务器,所以交换数据是逃不掉了的,但是学生党没有固定的服务器,因此使用的新浪的SAE,在学习的前期下可以尝试一下,挺不错的一 ...
- 【转】SQL删除重复数据方法
例如: id name value 1 a pp 2 a ...
- QtSQL学习笔记(1)- 概述
Qt SQL是Qt提供的核心模块,用以支持SQL数据库.Qt SQL的API被分为不同的层: ■ 驱动层 (Driver layer) ■ API层 (SQL API layer) ■ 用户接口层 ( ...
- PHP5.3后在本机运行很慢的解决方法
方法一:这是因为PHP 5.3在面对数据库配置信息中的“localhost”会犹豫,因此直接把这个地址改名为“127.0.0.1”,这个IP是IPv4下面的本地网络地址,实际作用和“localhost ...
- CheckedListBox与CheckedListBox联动
包括保存和加载 //查找业务类型 DataTable dtyewu = sb.SelectSyscode(0, true); if (dtyewu.Rows.Count > 0) { flagc ...
- Cassandra1.2文档学习(10)—— 插入和更新数据
参考数据:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_ ...
- django分页工具
from django.core.paginator import Paginator 此对象可以进行分页操作 objects = Entry.objects.all() page = Paginat ...
- FatFsVersion0.01源码分析
目录 一.API的函数功能简述 二.FATFS主要数据结构 1.FAT32文件系统的结构 2.FATFS主要数据结构 ① FATFS ② DIR ③ FIL ④ FILINFO ⑤ wi ...