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 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...
随机推荐
- day04-Python运维开发基础(位运算、代码块、流程控制)
# (7)位运算符: & | ^ << >> ~ var1 = 19 var2 = 15 # & 按位与 res = var1 & var2 " ...
- Spring Boot-运行部署
Main方法 直接运行启动类main方法 遵循应用程序入口点的Java约定的标准方法.我们的main方法SpringApplication通过调用委托给Spring Boot的类run. Spring ...
- eshop4-tomcat 安装
1. 下载tomcat 7 2. 解压缩 注意:是否使用sudo 权限执行请根据具体环境来决定 3. sudo vim /etc/profile 在最下方增加 export CATALINA_HOME ...
- Spark on Yarn | Spark,从入门到精通
?/ 为什么需要 Yarn? /? Yarn?的全称是?Yet Anther Resource Negotiator(另一种资源协商者).它作为 Hadoop?的一个组件,官方对它的定义是一个工作调度 ...
- 2020/2/21 fiyocms代码审计
0x00 前言 上午上了网课,一上午就装好了cms,下午还有网课,要是结束的早就进行审计. 解决了一下phpstudy使用过程中: Forbidden You don't have permissio ...
- 剑指offer自学系列(二)
题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内,数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次,请找出数组中任一个重复的数字,例如,如果输入长度为7的 ...
- 1-VCP 框架
VMware 硬件兼容性网址: 立即同步时间,修改/etc/ntp.conf 文件,增加一行 tos maxdist 30
- ubuntu下pip的安装、升级和使用
系统虽然自带了不同版本的python,但都没有安装pip,pyhton2.7下使用的是pip2,python3.5下使用的是pip3.下面是各自安装命令. 安装 pip2: sudo apt-get ...
- 端口通不通 telnet wget ssh
如何测试端口通不通(四种方法) 投稿:mrr 一般情况下使用"telnet ip port"判断端口通不通.接下来通过本文给大家分享四种方法测试端口通不通,感兴趣的朋友一起学习吧 ...
- 箭头函数arrow funtion
1.定义一个匿名函数常规语法: function (x) { return x * x; } 2.该函数使用箭头函数可以使用仅仅一行代码搞定! x => x * x 箭头函数相当于匿名函数,并且 ...