JQuery扩展
目录
1 JQUERY扩展 1
1.1 JQUERY的实例扩展 1
1.2 JQUERY的EXTEND扩展 1
2 JQUERY扩展参数验证器 1
2.1 JQUERY扩展参数验证器 1
2.2 参数验证器使用 3
3 JQUERY扩展JSON解析器 4
3.1 JQUERY将字符串转化为JSON对象 4
3.2 JQUERY将JSON对象转化为字符串 4
1 JQuery扩展
1.1 JQuery的实例扩展
Jquery中$是指jquery的命名空间,可以在$命名空间上加上方法及属性来达到对jquery实列的一个扩展。
如:扩展一个ajax字符转器。
$(function(){
$.ajaxStr = function(str){
str = str.replace(/%/g, "%25");
str = str.replace(/\&/g, "%26");
str = str.replace(/\+/g, "%2B");
str = str.replace(/\'/g, "%27");
str = str.replace(/\"/g, "%22");
return str;
};
});
在其他js文件中就可以直接调用该法。
1.2 JQuery的extend扩展
extend(ext,src1,src2,src3...);
它的含义是将src1,src2,src3...合并到ext中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了ext的结构的。
如果想要得到合并的结果却又不想修改ext的结构,如下:
var result = $.extend({},src1,src2,src3...)//也就是将"{}"作为ext参数。
这样就可以将src1,src2,src3...进行合并,然后将合并结果返回给result。
2 JQuery扩展参数验证器
2.1 JQuery扩展参数验证器
$(function(){
$.regCom = function(regAttr){
return $.regCom.attr[regAttr];
};
/**
* 验证表达式
*/
$.regCom.attr = {
email:/^([\.a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]+){1,2})$/,
//匹配名字只能输入数字或字母和下划线
name:/^\w{1,128}$/,
//8-20位全字符,不能是纯数字或纯字母
password:/^(?![0-9]+$)(?![a-zA-Z]+$).{8,20}$/,
//必填
required:/\S+/,
//描述
note:/^[\s\S]{0,512}$/,
};
$.regMsg = function(regAttr){
return $.regMsg.attr[regAttr];
};
/**
* 验证提示信息
*/
$.regMsg.attr = {
defMsg:"Please enter a valid argument.",
reqMsg:"This field is required.",
pwdMsg:"Please enter a valid password.",
nameMsg:'Allow number,letter and "_".',
noteMsg:"Please keep within 512 characters",
};
/**
* 验证器实现
*/
$.validator = function(obj, alt){
var val = $(obj).val(),flag = true;
var validation = $.parseJSON($(obj).attr('valid'));
if(alt == undefined ) alt = $(obj).parent().parent().find(".msg")[0];
if(alt == undefined ) alt = $(obj).parents('tr').find(".msg")[0];
if(alt == undefined ) alt = $(obj).parents('table').find(".msg");
$(validation).each(function(){
var reg = $.regCom(this.reg) == undefined ? new RegExp(this.reg) : $.regCom(this.reg);
var msg = $.regMsg(this.msg) == undefined ? this.msg : $.regMsg(this.msg);
if(!reg.test(val)){
$(alt).text(msg);
flag = false;
return false;
}else{
$(alt).text("");
}
});
return flag;
};
});
2.2 参数验证器使用
<div>
<table>
<tr><td width="30%">
<span class='red'>*</span>Project Name:</td>
<td width="30%">
<input type="text" name="name" maxlength="80" valid='[{"reg":"required","msg":"Please input a project name."},{"reg":"name", "msg":"nameMsg"}]' class="valid"/></td>
<td><span class="msg red"></span></td></tr>
<tr><td>Project Note:</td><td>
<textarea name="note" class="valid" valid='[{"reg":"note","msg":"noteMsg"}]'></textarea></td>
<td><span class="msg red"></span></td></tr>
</table>
</div>
<script type="text/javascript">
/************参数验证****************/
$(".valid").blur(function(){
$.validator(this);
});
</script>
当输入框和描述框失去焦点的时候,就会触发焦点失去事件。使得参数valid的json字符串来验证并给出相应的提示信息。
3 JQuery扩展json解析器
3.1 JQuery将字符串转化为json对象
Jquery中提供了$.parseJSON(jsonStr)方法将json字符串转化为json对象。
也可以使用浏览器中自带的JSON对象的JSON.parse(jsonStr)将json字符串转化为json对象。
3.2 JQuery将json对象转化为字符串
要将json对象转化为字符串可以使用浏览器中的JSON对象的JSON.stringify(jsonObj)方法将json对象转化为json字符串。但是很多低版本浏览器不支持JSON对象,如IE7,IE6等。
JQuery中没有提供将json对象转化为字符串的方法,当然也可以引入一些json插件可以实现该功能。下面是自己写的一个简单json解析器,可以见json对象转化为json字符串。
$(function(){
$.jsonToString = function (obj){
var arr = [];
var str = "";
if (isArr(obj)) {
for (var key in obj){
alert(key);
arr.push($.jsonToString(obj[key]));
}
str = '[' + arr.join(',') + ']';
} else if (isObj(obj)) {
for (var key in obj) {
obj[key] = isStr(obj[key]) ? '"'+obj[key]+'"':$.jsonToString(obj[key]);
arr.push('"'+key+'":'+obj[key]);
}
str = '{' + arr.join(',') + '}';
}
return str;
};
function isArr(obj){
return Object.prototype.toString.apply(obj) === '[object Array]';
};
function isObj(obj){
return Object.prototype.toString.apply(obj) === '[object Object]';
};
function isStr(obj){
return Object.prototype.toString.apply(obj) === '[object String]';
}
});
分享到:
相关推荐
在Dreamweaver这款强大的Web开发工具中,安装jQuery扩展可以帮助开发者更高效地构建动态网页。下面我们将详细讲解如何在Dreamweaver中安装jQuery扩展,以及相关的知识点。 首先,了解jQuery扩展的作用。jQuery扩展...
在本案例中,我们讨论的是一个专为Dreamweaver CS3设计的JQuery扩展,它能够增强Dreamweaver的代码提示和辅助功能,帮助开发者更高效地编写JQuery代码。 这个名为"JQuery MX-9 v.0.2.9"的扩展,是针对Dreamweaver ...
这篇文章将指导你如何构建一个自己的jQuery插件,理解jQuery扩展的核心原理。 首先,我们要明白jQuery插件的本质是一个包装在jQuery对象上的函数。在jQuery中,我们经常看到这样的匿名函数结构: ```javascript ...
这里主要介绍我自己所写的利用构建在jQuery之上的工具库,该库的原文件名为jquery.brady.js,但由于是构建在jQuery之上的,所以在引入页面时,一定要先引入jQuery核心库,如jquery-1.3.2.min.js 该工具库的namespace...
《jQuery扩展金属导航》 在Web开发领域,前端技术占据着至关重要的地位,而jQuery作为一款强大的JavaScript库,因其简洁的API和丰富的功能,深受开发者喜爱。本资源“jquery扩展金属导航.zip”聚焦于利用jQuery实现...
本文将深入探讨如何使用jQuery扩展实现这一功能,并解释相关的核心知识点。 首先,`serialize()`是jQuery提供的一个方法,用于将表单元素转换为URL编码的字符串,适合于发送到服务器。然而,如果我们需要的是JSON...
本篇文章将深入探讨如何进行jQuery扩展插件和拓展函数的编写。 首先,我们来理解jQuery插件的基本结构。一个简单的jQuery插件通常会定义一个新的方法,这个方法可以在jQuery对象上调用。以下是一个基本的插件模板:...
本文将介绍一种利用jQuery扩展VS2008 Ajax应用的方法,该方法可以轻松实现Ajax功能,且不需要改变原有的VS2008开发架构。 Ajax技术的应用方式主要有两种:一是利用VS2008的或第三方的Ajax封装控件,另外一种是在...
本主题聚焦于一个特定的应用场景:使用jQuery扩展插件实现图片的异步分页浏览。这种技术在现代网页设计中十分常见,特别是在图片展示类网站或社交媒体平台,能够有效地提高用户体验,减少页面加载时间。 首先,我们...
jquery扩展插件,jquery提供的html()方法,只能获取标签内部内容,本插件进行了扩展实现了取得包含标签自身的html,并解决了input/radio/checkbox/select等输入后无法取值问题。
[Manning Publications] jQuery 扩展开发教程 (英文版) [Manning Publications] Extending jQuery (E-Book) ☆ 出版信息:☆ [作者信息] Keith Wood [出版机构] Manning Publications [出版日期] 2013年08月23...
dreamweaver jQuery 扩展 在dreamweaver中可以显示jQuery提示,开发时用起来很方便 分.zxp和.mxp两种扩展 cc2015,cs6均可用。 扩展安装需要到用Adobe Extension Manager,请自行在网上百度,免费下载。
第17周-第22章节-Python3.5-JQuery扩展.avi
第17周-第20章节-Python3.5-JQuery扩展以及自动执行函数的应用.avi
为jquery编写的扩展,仿easyui,清晰简洁,适合初学者,包含扩展jquery.accordion.js、jquery.combobox.js、jquery.datagrid.js、jquery.datebox.js、jquery.dialog.js、jquery.form.js、jquery.layout.js、jquery....
四、jQuery 的选择器机制:jQuery 的选择器基于 CSS 选择器,并扩展了更强大的功能,如 ID 选择器(#id)、类选择器(.class)、元素选择器(element)以及组合选择器($, +, >)等。这使得开发者能够方便地选取 DOM...
【jQuery扩展:文本域光标操作】 在网页开发中,我们常常需要对文本域(`<textarea>`)进行各种操作,比如获取光标位置、设置选区、插入文本或删除字符。为了方便开发者,可以使用jQuery扩展来实现这些功能。本文将...
Jquery自带的序列化,仅对form表单进行序列化,有很大的局限性,现在对齐进行扩展可以进行任意的序列化,包括json格式,字符串格式、数组格式,数组时自动转化为字符串等。并可以根据开发需要,随时扩展自己想要的...
这是一本带领你一步步编写自己的Jquery自定义插件或控件的好书,本书共14章,内容充实,是不本相当不错的前端开发学习资料
jQuery.dragmove 是 DOM 元素拖拽扩展插件。 支持的浏览器: – Google Chrome– Safari ( Desktop and Mobile )– Internet Explorer ( 9, 10, 11 )– Firefox 标签:jQuery