JS/JQUERY函数库
1. 判断字符串是否为空
function isEmptyString(str) {
return str == undefined || str == "" || str == null;
}
2. 判断数据格式
2.1 判断是否邮箱格式
function isEmail(str) {
var re = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$");
return re.test(str);
}
2.2 判断是否整数格式
function isInt(str) {
var re = new RegExp("^-?[0-9]+$");
return re.test(str);
}
2.3 判断是否浮点数字格式
function isFloat(str) {
var re = new RegExp("^-?[0-9]+\.[0-9]+$");
return re.test(str);
}
3. 获取object中属性的值
function getObjectData(object, field) {
var fieldArray = field.split(".");
var childObj = object;
$.each(fieldArray, function(i, n) {
childObj = childObj[n];
})
return childObj;
}
例如:
var test = {a:"aaa",b:{c:"ccc",d:{e:"eee",f:"fff"}}};
var testResult = getObjectData(test,"a.b.d.f");
获得到的testResult的值为"fff"。
4. 扩展日期类型,增加格式化功能
Date.prototype.Format = function(fmt) {
var o = {
"M+" : this.getMonth() + 1,
"d+" : this.getDate(),
"h+" : this.getHours(),
"m+" : this.getMinutes(),
"s+" : this.getSeconds(),
"q+" : Math.floor((this.getMonth() + 3) / 3),
"S" : this.getMilliseconds()
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for ( var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
5. 设定整个页面的keyPress事件响应
function setGloableKeyPress(keyCode, onKeyPress) {
document.onkeydown = function(e) {
var ev = document.all ? window.event : e;
if (ev.keyCode == keyCode) {
onKeyPress();
}
}
}
6. form表单功能扩展
6.1 表单输入元素中回车响应
$.fn.formAutoSearch = function(onSearch) {
var id = $(this).attr("id");
$("#" + id + " :input").not(':button, :submit, :reset').keypress(function(e) {
if (e.keyCode == 13) {
onSearch();
}
})
}
6.2 检测表单输入合法性(需要html元素属性支持)
$.fn.formCheck = function(funMsg) {
var rtn = true;
var id = $(this).attr("id");
var inputs = $("#" + id + " :input").not(':button, :submit, :reset');
$.each(inputs, function(i, n) {
var caption = $(this).attr("caption");
var maxLength = $(this).attr("maxlength");
if (isEmptyString(maxLength) == false) {
var val = "";
if ($(this).is("input")) {
val = $(this).val();
} else if ($(this).is("textarea")) {
val = $(this).html();
}
if (val.length > parseInt(maxLength)) {
if (funMsg != undefined) {
funMsg(caption + "输入长度超过限制");
}
rtn = false;
}
}
var notNull = $(this).attr("notnull");
if (notNull == "true") {
var val = "";
if ($(this).is("input")) {
val = $(this).val();
} else if ($(this).is("textarea")) {
val = $(this).html;
} else if ($(this).is("select")) {
val = $(this).val();
}
if (val.length == 0) {
if (funMsg != undefined) {
funMsg("请填写" + caption);
}
rtn = false;
}
}
var chkEmail = $(this).attr("isemail");
if (chkEmail == "true") {
var val = "";
if ($(this).is("input")) {
val = $(this).val();
} else if ($(this).is("textarea")) {
val = $(this).html;
}
if (isEmail(val) == false) {
if (funMsg != undefined) {
funMsg("您填写的" + caption + "不是有效的邮箱格式,请重新填写");
}
rtn = false;
}
}
var chkNum = $(this).attr("isint");
if (chkNum == "true") {
val = $(this).val();
if (isInt(val) == false) {
if (funMsg != undefined) {
funMsg("您填写的" + caption + "不是有效的数字格式,请重新填写");
}
rtn = false;
}
}
var chkFloat = $(this).attr("isfloat");
if (chkFloat == "true") {
val = $(this).val();
if (isFloat(val) == false) {
if (funMsg != undefined) {
funMsg("您填写的" + caption + "不是有效的数字格式,请重新填写");
}
rtn = false;
}
}
});
return rtn;
}
6.3 清除表单
$.fn.formClear = function() {
var id = $(this).attr("id");
var inputs = $("#" + id + " :input").not(':button, :submit, :reset');
$.each(inputs, function(i, n) {
if ($(this).is("input")) {
if ($(this).attr("type") == "text" || $(this).attr("type") == "hidden" || $(this).attr("type") == undefined) {
$(this).val("");
} else if ($(this).attr("type") == "checkbox") {
$(this).prop("checked", false);
} else if ($(this).attr("type") == "radio") {
$(this).prop("checked", false);
} else if ($(this).attr("type") == "password") {
$(this).val("");
}
} else if ($(this).is("textarea")) {
$(this).html("");
} else if ($(this).is("select")) {
var nid = $(this).attr("id");
$("#" + nid + " option:first").attr("selected", "selected");
}
})
}
6.4 填充表单
$.fn.formFill = function(data) {
var id = $(this).attr("id");
var inputs = $("#" + id + " :input").not(':button, :submit, :reset');
$.each(inputs, function(i, n) {
var attr = $(this).attr("name");
var valStr = getObjectData(data, attr);
if (valStr == null || valStr == undefined) {
valStr = "";
} else {
valStr = valStr.toString();
}
if ($(this).is("input")) {
if ($(this).attr("type") == "text" || $(this).attr("type") == "hidden" || $(this).attr("type") == undefined) {
$(this).val(valStr);
} else if ($(this).attr("type") == "checkbox") {
$(this).prop("checked", valStr);
} else if ($(this).attr("type") == "radio") {
$(this).prop("checked", valStr);
} else if ($(this).attr("type") == "password") {
$(this).val(valStr);
}
} else if ($(this).is("textarea")) {
$(this).html(valStr);
} else if ($(this).is("select")) {
$(this).val(valStr);
}
})
}
7. css中px的数值操作
7.1 获取css中px的数值
$.fn.getCssPx = function(cssProp) {
var cssStr = $(this).css(cssProp);
cssStr = cssStr.substr(0, cssStr.length - 2);
return parseInt(cssStr);
}
7.2 设定css中px的数值
$.fn.setCssPx = function(cssProp, value) {
$(this).css(cssProp, value + "px");
}
8. 未完待续
JS/JQUERY函数库的更多相关文章
- 前端之jquery函数库
jquery介绍 jQuery是目前使用最广泛的javascript函数库.据统计,全世界排名前100万的网站,有46%使用jQuery,远远超过其他库.微软公司甚至把jQuery作为他们的官方库. ...
- JQuery函数库
核心Core 函数$()动态创建由 jQuery 对象包装的 DOM 元素$.unique()去重排序函数$.inArray()在数组中搜索指定的值并返回其索引$.merge()合并数组 属性Para ...
- js jquery 函数回调
JS 函数回调 $('#btn_update').click(function () { var table_id = $table.bootstrapTable('getSelections')[0 ...
- js jQuery函数 $.ajax()
$.ajax() //$表示是jQuery cache: 要求为Boolean类型的参数,默认为true(当dataType为script时,默认为false),设置为false将不会从浏览器缓存中 ...
- 转:common.js 常用js公共函数库
转自其他博主,自己开发备用 var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data: data, d ...
- css,js,jquery的载入方式和属性控制
本文章主要总结了css,js,jQuery在编写程序时的载入方式,与属性控制方式html和css共同组成了一个最基础的网页,js为标签样式提供动态效果 一,css的载入方式与属性控制 1.1,css引 ...
- 在easyUI开发中,出现jquery.easyui.min.js函数库问题
easyUI是jquery的一个插件,是民间的插件.easyUI使用起来很方便,里面有网页制作的最重要的三大方块:javascript代码.html代码和Css样式.我们在导入easyUI库后,可以直 ...
- Underscore——JS函数库
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826065.html underscore是什么——它是一个js函数库 jQuery统一了不同浏览器之间的 ...
- js jquery版本的 金额千分位转换函数(非正则,效率极高)
没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...
随机推荐
- Ethernet IP TCP UDP 协议头部格式
The Ethernet header structure is shown in the illustration below: 以太网头部14 bytes Destination Source L ...
- 旧iPhone遭禁,会让苹果产业链迎来新转机吗?
过去几个月,苹果的日子并不好过,先是新iPhone定价过高导致销售疲软,股价连续下跌,万亿市值失守,被微软和亚马逊超越:手机销量上则被华为赶超,整个iPhone产业链都有点儿"哀鸿遍野&qu ...
- Java的SPI机制
目录 1. 什么是SPI 2. 为什么要使用SPI 3. 关于策略模式和SPI的几点区别 4. 使用介绍或者说约定 4.1 首先介绍几个名词 4.2 约定 5. 具体的demo实现 5.1 创建服务提 ...
- 微信小程序循环中点击一个元素,其他的元素不发生变化,类似点击一个循环中的语音,其他的不发生点击事件
类似语音,因为都在一个数据内,所以点击第一个,所有的语音都变化,解决方法就是 把整个数据都获取下来,然后更改其中一个需要更改的值,然后再把整个数据都setdata回去,如果需要动画的话,wxml里面放 ...
- Java之反射 — 用法及原理
Java之反射 - 用法及原理 定义 Java反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象 ...
- eshop7-mysql
1. Mysql 安装 执行 yum -y install mysql-server 注意:(1)是否使用sudo 权限执行请根据您具体环境来决定 (2)检查是否已经安装mysql-server rp ...
- DCGAN生成目标训练图片
前言: GAN的原理很简单,但是它有很多变体,如:DCGAN.CycleGAN.DeblurGAN等,它们也被用在不同地方,本文将用到DCGAN来生成头像图片,可以做到以假乱真的地步. 1.首先调用程 ...
- Qt编写的项目作品2-控件属性设计器(组态)
一.功能特点 自动加载插件文件中的所有控件生成列表,默认自带的控件超过120个. 拖曳到画布自动生成对应的控件,所见即所得. 右侧中文属性栏,改变对应的属性立即应用到对应选中控件,直观简洁,非常适合小 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:foreach及Enumeration接口
import java.util.Vector; import java.util.Enumeration; public class EnumerationDemo01{ public static ...
- S7-300数据处理基本知识(结尾以MW8+1 ADD指令实训仿真,并用状态表监控及刷写变量)
数据处理基本知识汇总 STEP7 的数据类型包括什么? 基本数据类型 复杂数据类型 用于FB(功能块)的输入,输出参数类型 用于FC(功能)的输入,输出参数类型 基本数据类型是什么? 先列举12种数据 ...