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 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...
随机推荐
- 006、Java中定义中文变量中文标识符
01.代码如下 package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- Spring MVC RedirectAttributes取值方法
RedirectAttributes是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的他有两种带参的方式:第一种: attr.addAttribute(" ...
- Codeforces Forethought Future Cup Elimination Round 选做
1146C Tree Diameter 题意 交互题.有一棵 \(n(n\le 100)\) 个点的树,你可以进行不超过 \(9\) 次询问,每次询问两个点集中两个不在同一点集的点的最大距离.求树的直 ...
- SpringBoot-集成通用mapper
SpringBoot-集成通用mapper SpringBoot-集成通用mapper 我们在SpringBoot中整合了MyBatis,但是大量重复的增删改查还是很头疼的问题,MyBatis也给 ...
- Spring AOP 管理事务
<aop:config proxy-target-class="true"> <aop:pointcut expression="execution(* ...
- Centos 8双网卡设置
原理:不管开发板是通过直连.路由器还是交换机连接到PC机,最终都是接到PC的以太网网卡(对笔记本来说,一般存在两个网卡,一个WIFI网卡和以太网网卡):因此要实现PC机与虚拟机的互ping,必须把虚拟 ...
- 5款国内免费CDN服务商及使用点评
第一款,百度加速乐 加速乐目前被百度收购,这样百度也有了自己运营的CDN产品,可以丰富自身站长平台工具使用用户群.目前有免费用户和付费用户的区别,对于一般的网站免费方案也足够使用.特点具备智能解析.加 ...
- code first网站发布后数据表中没有数据问题
code first网站发布后数据表中没有数据问题 (1).将internal sealed class Configuration类访问修饰符改为public class Configuratio ...
- Redis 详解 (二) redis的配置文件介绍
目录 1.开头说明 2.INCLUDES 3.MODULES 4.NETWORK 5.GENERAL 6.SNAPSHOTTING 7.REPLICATION 8.SECURITY 9.CLIENTS ...
- 读取docx表格中的信息
参考了 http://blog.csdn.net/qq_34475777/article/details/62055523 http://www.cnblogs.com/deepwaterplan/a ...