多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
vars=xn.substr("abcdefg",0,-3);console.log(s); //结果:abcd Object.keys() Object.keys() Object.keys(obj) 【功能】 返回一个数组,包含对象的的所有的 Keys。 【参数】 obj:对象 【用例】 varobj={"username":"Jack","email":"<jack@gmail.com>"};var arr=Object.keys(obj); console.log(arr); //结果:\["username", "email"\] ?> Object.length() Object.length() Object.length(obj) 【功能】 返回对象包含的元素的个数。。 【参数】 obj:对象 【用例】 varobj={"username":"Jack","email":"<jack@gmail.com>"};var n=Object.length(obj); console.log(n); //结果:2 ?> Object.count() Object.count() Object.count(obj) 【功能】 返回对象包含的元素的个数,不包含继承而来的 Key。 【参数】 obj:对象 【用例】 varobj={"username":"Jack","email":"<jack@gmail.com>"};var n=Object.count(obj); console.log(n); //结果:2 ?> xn.htmlspecialchars() xn.htmlspecialchars() xn.htmlspecialchars(s) 【功能】 对字符串进行 HTML 转义。 PHP htmlspecialchars() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s="<b>Hello</b>"; var s2=xn.htmlspecialchars(s);console.log(s2) //结果:&lt;b&gt;Hello&lt;/b&gt; ?> xn.urlencode() xn.urlencode() xn.urlencode(s) 【功能】 对字符串进行安全的url encode转义,JS内置的字符编码为UNICODE,会被编码为UTF-8。编码后的字符串仅仅包含 字母、数字、下划线,可以被安全的通过URL传递。 XiunoPHP xn\_urlencode() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s="中国"; var s2=xn.urlencode(s);console.log(s2) //结果:\_E4\_B8\_AD\_E5\_9B\_BD ?> xn.urldecode() xn.urldecode() xn.urldecode(s) 【功能】 对 xn.urlencode() 编码过的字符串进行解码。XiunoPHP xn\_urldecode() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s="\_E4\_B8\_AD\_E5\_9B\_BD";var s2=xn.urldecode(s);console.log(s2) //结果:中国 ?> xn.nl2br() xn.nl2br(s) xn.nl2br(s) 【功能】 将换行 \\r\\n 替换为 PHP nl2br() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s="Hello \\r\\nWorld";var s2=xn.nl2br(s);console.log(s2) //结果:Hello <br> World ?> xn.time() xn.time() xn.time() 【功能】 获取当前的 UNIX 时间戳PHP time() 的 JS 版本。 【用例】 var t=xn.time();console.log(t) //结果:1474781352 ?> xn.intval() xn.intval() xn.intval(s) 【功能】 将字符串转为INT类型,不会出现NaN类型,格式不良好返回0。PHP intval() 的JS版本。 【参数】 s:字符串对象 【用例】 var n=xn.intval("123个");console.log(n) //结果:123 ?> xn.floatval() xn.floatval() xn.floatval(s) 【功能】 将字符串转为float类型,不会出现NaN类型,格式不良好返回0。PHP floatval() 的JS版本。 【参数】 s:字符串对象 【用例】 var n=xn.intval("123.45个");console.log(n) //结果:123.45 ?> xn.isset() xn.isset(obj) xn.isset(obj) 【功能】 判断一个变量是否被定义过PHP isset() 的 JS 版本。 【参数】 obj:对象 【用例】 var r=xn.isset(var1);console.log(r) //结果:false ?> xn.empty() xn.empty(obj) xn.empty(obj) 【功能】 判断一个变量是否为空,以下值都会被当做空,而返回 true0, '', '0', \[\], {}, null, undefined, unknown PHP empty() 的 JS 版本。 【参数】 obj:对象 【用例】 var r=xn.empty(window.xxx);console.log(r) //结果:false ?> xn.ceil() xn.ceil() xn.ceil(n) 【功能】 对一个数取整,向上圆整。PHP ceil() 的 JS 版本。 【参数】 n:数值对象 【用例】 var r=xn.ceil('0.2');console.log(r) //结果:1 ?> xn.round() xn.round() xn.round(n) 【功能】 对一个数取整,四舍五入。PHP round() 的 JS 版本。 【参数】 n:数值对象 【用例】 var r=xn.round('0.6');console.log(r) //结果:1 ?> xn.floor() xn.floor() xn.floor(n) 【功能】 对一个数取整,四舍五入。PHP floor() 的 JS 版本。 【参数】 n:数值对象 【用例】 var r=xn.floor('0.2');console.log(r) //结果:0 ?> xn.strtolower() xn.strtolower() xn.strtolower(s) 【功能】 对字符串转为小写 PHP strtolower() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s=xn.strtolower('Abcd');console.log(s) //结果:abcd ?> xn.strtoupper() xn.strtoupper() xn.strtoupper(s) 【功能】 对字符串转为小写 PHP strtoupper() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s=xn.strtoupper('Abcd');console.log(s) //结果:ABCD ?> xn.json\_encode() xn.json\_encode() xn.json\_encode(obj) 【功能】 对obj进行json编码,返回编码后的字符串。PHPjson\_encode() 的JS版本。 【参数】 obj:对象 【用例】 varobj={username:"Jack",email:"<jack@gmail.com>"};var s=xn.json\_encode(obj); console.log(s) //结果:"{\\"username\\":\\"Jack\\",\\"email\\":\\"jack@gmail.com\\"};" ?> xn.json\_decode() xn.json\_decode() xn.json\_decode(s) 【功能】 对 s 进行 json 解码,返回解码后的对象。PHP json\_encode() 的 JS 版本。 【参数】 s:字符串对象 【用例】 var s="{\\"username\\":\\"Jack\\",\\"email\\":\\"jack@gmail.com\\"};"var obj=xn.json\_decode(s); console.log(obj) //结果:{username: "Jack", email: "<jack@gmail.com>"} ?> xn.min() xn.min() xn.min(...) 【功能】 返回参数中最小的值。PHP min() 的 JS 版本。 【参数】 ...:不定个数的变参 【用例】 var n=xn.min(3,1,2,4,5);console.log(n) //结果:1 ?> xn.max() xn.max() xn.max(...) 【功能】 返回参数中最大的值。PHP max() 的 JS 版本。 【参数】 ...:不定个数的变参 【用例】 var n=xn.max(3,1,2,4,5);console.log(n) //结果:5 ?> xn.str\_replace() xn.str\_replace() xn.str\_replace(s,d,str) 【功能】 将 str 中的 s 字符串替换为 d 字符串。PHP str\_replace() 的 JS 版本。 【用例】 vars=xn.str\_replace('a','b','abc');console.log(s) //结果:"bbc" ?> xn.strpos() xn.strpos() xn.strpos(str,s) 【功能】 返回字符串 str 中 s 字符第一次出现的位置。PHP strrpos() 的 JS 版本。 【参数】 str:在该字符串查找s:待查找的字符串 【用例】 varn=xn.strpos("123.jpg.php","jpg");console.log(n) //结果:3 ?> xn.strrpos() xn.strrpos() xn.strrpos(str,s) 【功能】 返回字符串 str 中 s 字符最后出现的位置。PHP strrpos() 的 JS 版本。 【参数】 str:在该字符串查找s:待查找的字符串 【用例】 varn=xn.strrpos("123.jpg.jpg.php","jpg");console.log(n) //结果:8 ?> xn.substr() xn.substr() xn.substr(str,start,len) 【功能】 对字符串str进行截取,从start指定位置开始,截取len长度,支持负数。PHPsubstr() 的JS版本。 【参数】 str:对该字符串进行截取start:开始位置 len:截取的长度,负数表示从后往前的偏移量 【用例】 vars=xn.substr("123456",0,-1);console.log(s) //结果:123456 ?> xn.explode() xn.explode() xn.explode(sep,s) 【功能】 用字符串sep对字符串s进行进行分割,返回一个数组。PHP explode() 的JS版本。 【参数】 sep:分隔符 s:对该字符串进行分割 【用例】 vararr=xn.explode(".","abc.jpg");console.log(arr) //结果:\["abc", "jpg"\] ?> xn.implode() xn.implode() xn.implode(glur,arr) 【功能】 用数组arr通过glur进行合并,返回合并后的对字符串。PHPimplode() 的JS版本。 【参数】 glur:分隔符 arr:对该数组进行合并 【用例】 vars=xn.implode(".",\["abc","jpg"\]);console.log(s) //结果:"abc.jpg" ?> xn.array\_merge() xn.array\_merge() xn.array\_merge(arr1,arr2) 【功能】 将数组arr1和arr2进行合并,返回合并后的数组。PHParray\_merge() 的JS版本。 【参数】 arr1:数组1 arr2:数组2 【用例】 vararr=xn.array\_merge(\["a","b"\],\["c","d"\]);console.log(arr) //结果:\["a", "b", "c", "d"\] ?> xn.array\_diff() xn.array\_diff() xn.array\_diff(arr1,arr2) 【功能】 返回存在于$arr1,但不存在于$arr2的元素集合的数组。PHParray\_diff() 的JS版本。 【参数】 arr1:数组1 arr2:数组2 【用例】 vararr=xn.array\_diff(\["a","b"\],\["b","c","d"\]);console.log(arr) //结果:\["a"\] ?> xn.array\_keys() xn.array\_keys() xn.array\_keys(obj) 【功能】 返回一个数组,包含对象中所有的 key 值PHP array\_keys() 的 JS 版本。 【参数】 obj:对象 【用例】 varobj={"username":"Jack","email":"<jack@gmail.com>"};var arr=xn.array\_keys(obj); console.log(arr) //结果:\["username", "email"\] ?> xn.array\_values() xn.array\_values() xn.array\_values(obj) 【功能】 返回一个数组,包含对象中所有的value的值PHP array\_values() 的JS版本。 【参数】 obj:对象 【用例】 varobj={"username":"Jack","email":"<jack@gmail.com>"};var arr=xn.array\_values(obj); console.log(arr) //结果:\["Jack", "<jack@gmail.com>"\] ?> xn.in\_array() xn.in\_array() xn.in\_array(v,arr) 【功能】 判断 v 是否在 arr 当中。PHP in\_array() 的 JS 版本。 【参数】 v:查找的对象 arr:从这个数组进行查找 【用例】 varr=xn.in\_array(3,\[3,2,1,4,5\]);console.log(r) //结果:true ?> xn.rand() xn.rand() xn.rand(n) 【功能】 生成一个位数为 n 的随机字符串。XiunoPHP xn\_rand() 的 JS 版本。 【参数】 n:随机字符串位数 【用例】 var s=xn.rand(6);console.log(s) //结果:"kd3i9w" ?> xn.template() xn.template() xn.template(s,json) 【功能】 对字符串进行替换,按照 json 指定的 key value。 【参数】 s:对此字符串进行替换,一般是HTML模板 json:对象 【用例】 vars=xn.template("Hi,{username}",{"username":"Jack"});console.log(s) //结果:"Hi, Jack" ?> xn.is\_mobile() xn.is\_mobile() xn.is\_mobile(s) 【功能】 判断字符串是否为手机号码格式 【参数】 s:包含手机号码的字符串 【用例】 varr=xn.is\_mobile("18812345678");console.log(r) //结果:true ?> xn.is\_email() xn.is\_email() xn.is\_email(s) 【功能】 判断字符串是否为 Email 格式 【参数】 s:包含Email的字符串 【用例】 varr=xn.is\_email("<abc@gmail.com>");console.log(r) //结果:true ?> xn.is\_string() xn.is\_string() xn.is\_string(obj) 【功能】 判断是否为字符串对象 【参数】 obj:对象 【用例】 var r=xn.is\_string("abc");console.log(r) //结果:true ?> xn.is\_function() xn.is\_function() xn.is\_function(obj) 【功能】 判断是否为函数对象 【参数】 obj:对象 【用例】 vara=function(){alert(123);};var r=xn.is\_function(a); console.log(r) //结果:true ?> xn.is\_array() xn.is\_array() xn.is\_array(obj) 【功能】 判断是否为函数对象 【参数】 obj:对象 【用例】 var a=\[1,2,3\]; var r=xn.is\_function(a);console.log(r) //结果:true ?> xn.is\_number() xn.is\_number() xn.is\_number(obj) 【功能】 判断是否为数值对象 【参数】 obj:对象 【用例】 var a=123; var r=xn.is\_regexp(a);console.log(r) //结果:true ?> xn.is\_regexp() xn.is\_regexp() xn.is\_regexp(obj) 【功能】 判断是否为正则表达式对象 【参数】 obj:对象 【用例】 var a=/^\\w+/; var r=xn.is\_regexp(a);console.log(r) //结果:true ?> xn.is\_object() xn.is\_object() xn.is\_object(obj) 【功能】 判断是否为对象 【参数】 obj:对象 【用例】 var a={}; var r=xn.is\_object(a);console.log(r) //结果:true ?> xn.is\_element() xn.is\_element() xn.is\_element(obj) 【功能】 判断是否为 HTML 元素。nodeType == 1 【参数】 obj:对象 【用例】 var a=document.body;var r=xn.is\_element(a); console.log(r) //结果:true ?> xn.lang() xn.lang() xn.lang(key,arr) 【功能】 语言包功能函数 【参数】 key:查找语言包的key arr:替换的变量 【用例】 var lang={ "login\_successfully":"{username},登陆成功!" } vars=xn.lang("login\_successfully",{username:"Jack"});console.log(s) //结果:Jack,登陆成功! ?> xn.url() xn.url() xn.url(u,url\_rewrite) 【功能】 生成 URL ,格式与 XiunoPHP 保持一致。 【参数】 u:URL url\_rewrite:格式 【用例】 var s=xn.url("user-login");console.log(s) //结果:"?user-login.htm" ?> xn.image\_resize() xn.image\_resize() xn.image\_resize(file\_base64\_data,callback,options) 【功能】 对图片进行缩放 【参数】 file\_base64\_data:图片的base64编码数据。 callback:处理完以后的回调函数: function(code,message) { // code = 0 // message = {width: width, height: height, data:s} } options:选项: { width:1200, height:2400, action:"thumb",// clip filetype:"jpg",//如果不指定,则与原来的base64中指定的格式保持一致 qulity:0.7, //图片质量。 } 【用例】 var imgdata="data:image/gif xxxx";varcallback=function(code,message){ if(code!=0)returnalert(message)console.log(message); //结果:{width: width, height: height, data: s} } var options={width:1200};xn.image\_resize(file\_base64\_data,callback,options); xn.upload\_file() xn.upload\_file() ![](https://img.kancloud.cn/fe/c5/fec53588eca168b906f3e894e110eb9a_31x31.png)![](https://img.kancloud.cn/07/37/0737da087836e783fa1e9fccc19cb34e_31x32.png)![](https://img.kancloud.cn/5c/76/5c769cd3199e545ebc1a0f35cd56ac55_20x31.png) xn.upload\_file(file,upload\_url,postdata,complete\_callback,progress\_callback,thumb\_callback) 【功能】 通过 POST 方式上传 base64 编码过的文件(可以设置对图片进行缩略和裁切) 【参数】 file:文件对象upload\_url:服务器URL postdata:POST数据,格式:[username=Jack&email=jack@gmail.com](mailto:username%3DJack%26email%3Djack@gmail.com)complete\_callback: 完成后的回调函数: function(code,message) { // code为服务端返回的json数据 // message为服务端返回的json数据 } progress\_callback:进度回调函数: function(percent) { // percent为数值:0 - 100 } thumb\_callback:可选:缩略图回调函数:function(base64\_data) { //此处可以用来显示缩略图,一般不需要。 } 【用例】 varfile=e.target.files\[0\];//文件控件onchange后触发的event;varupload\_url='xxx.php';//服务端地址 varpostdata={width:2048,height:4096,action:'thumb',filetype:'jpg'} ; var progress=function(percent) {console.log('progress:'+percent); }};/ /如果是图片,会根据此项设定进行缩略和剪切thumb|clip xn.upload\_file(file,upload\_url,postdata,function(code,json){ //成功 if(code==0) {console.log(json.url);console.log(json.width);console.log(json.height); ![](https://img.kancloud.cn/fe/c5/fec53588eca168b906f3e894e110eb9a_31x31.png)![](https://img.kancloud.cn/07/37/0737da087836e783fa1e9fccc19cb34e_31x32.png)![](https://img.kancloud.cn/85/55/85557feb96e7596bed2b15a6e455094e_20x31.png) }else{ alert(json); } },progress); $.location() $.location() $.location(href) 【功能】 等价于 window.location = href; 【参数】 href:跳转的URL 【用例】 $.location("user-login.htm"); $.pdata() $.pdata() $.pdata(key,value) 【功能】 存储数据到浏览器端的 sessionStorage 对象当中,可以保存比 Cookie 大很多的数据,并且不会被发送到服务端。 【参数】 key:键名value:键值 【用例】 $.pdata('key1','value1'); console.log($.pdata('key1')); //结果:"value1" $.cookie() $.cookie() $.cookie(name,value,time,path) 【功能】 设置或者读取客户端 Cookie,会随浏览器发送到服务器。 【参数】 name:cookie名 value:cookie值 time:过期时间,单位为秒。 path:路径 【用例】 $.cookie('key1','value1');console.log($.cookie('key1')); //结果:"value1" $.xget() $.xget() $.xget(url,callback,retry) 【功能】 AJAX 请求服务端。 与 $.get() 不同在于,当服务器返回非 json 数据的时候,$.xget() 能返回错误回调。 【参数】 url:AJAX请求的URL callback:回调函数retry:重试次数 【用例】 $.xget('user-login.htm',function(code,message){if(code==0) { alert('成功'); }else{ alert('错误:'+message); } }) $.xpost() $.xpost() $.xpost(url,postdata,callback,progress\_callback) 【功能】 AJAX POST 请求服务端。 与$.post() 不同在于,当服务器返回非json数据的时候,$.xpost() 能返回错误回调,并且能指定进度回调函数。 【参数】 url:AJAX请求的URL callback:回调函数 progress\_callback:进度回调函数,参数为一个数值:0-100 【用例】 $.xpost('user-login.htm',"username=Jack",function(code,message){if(code==0) { alert('成功'); }else{ alert('错误:'+message); } }) $.require() $.require() $.require(...callback) 【功能】 异步加载 js, 加载成功以后 callback 【参数】 ...:js文件的URL callback:最后一个参数为回调函数 【用例】 $.require('1.js','2.js',function(){alert('after allloaded'); }); $.require(\['1.js','2.js',function(){alert('after allloaded'); }\]); $.require\_css() $.require\_css() $.require\_css(filename) 【功能】 异步加载 css 【参数】 filename:css文件的URL 【用例】 $.require('1.css'); $.each\_sync() $.each\_sync() $.each\_sync(array,func,callback) 【功能】 串行化异步动作。 对 async 进行了封装,避免并发导致的乱序。 【参数】 array: 数组func:函数callback:回调函数 【用例】 $.each\_sync(items,function(i,callback){var item=items\[i\]; $.post(url,function() { // ...callback(); }); }); $.fn.removeDeep() $.fn.removeDeep() $.fn.removeDeep() 【功能】 清理节点,和节点上的事件。 remove() 并不清除子节点事件!!用来替代 remove(),避免内存泄露 【用例】 $('div.card').removeDeep(); $.fn.emptyDeep() $.fn.emptyDeep() $.fn.emptyDeep() 【功能】 清理节点,和节点上的事件,与 removeDeep() 不同的是它保留当前节点。 【用例】 $('body').emptyDeep(); $.fn.checked() $.fn.checked() $.fn.checked() 【功能】 获取选中的控件的值。 主要针对 checkbox radio select 控件。 【返回值】 可能是数组,也可能是字符串,取决于控件类型。 【用例】 var v=$('select').checked(); //返回字符串: 123 var arr=$('input\[type="checkbox"\]').checked(); //返回数组: \[1, 2, 3\] $.fn.button() $.fn.button() $.fn.button(v) 【功能】 获取选中的控件的值。 主要针对 checkbox radio select 控件。 【参数】 v: button 上的文字和状态 【用例】 //正在加载,会调用loading-text属性 $('button').button('loading'); //禁用状态 $('button').button('disabled'); //启用 $('button').button('enable'); //重设状态 $('button').button('reset'); //使用非状态值得文字内容 $('button').button('非状态值的文字内容'); $.fn.location() $.fn.location() $.fn.location(href) 【功能】 页面跳转,支持连续操作。 【参数】 href: 跳转的 URL 【用例】 jsubmit.button(message).delay(1000).button('reset').delay(1000).location('http: //xxxx'); $.fn.alert() $.fn.alert() $.fn.alert(message) 【功能】 在控件的上方显示提示信息。 【参数】 message: 信息内容 ![](https://img.kancloud.cn/d9/b8/d9b88eeda13deb938b92442c74bdff6e_407x308.jpeg)【用例】 $('input.subject').alert("请输入标题"); $.fn.serializeObject() $.fn.serializeObject() $.fn.serializeObject() 【功能】 对 Form 表单的控件序列化,生成对象。 $.fn.serialize() 生成的是字符串。 【用例】 varpostdata=$('form').serializeObject();consolelog(postdata); //结果:{"username": "Jack", "email": "<jack@gmail.com>"} $.fn.reset() $.fn.reset() $.fn.reset() 【功能】 对 Form 表单状态重设。 会对内所以后控件进行重设,并且清楚 alert() 等残余信息。 【用例】 $('form').reset(); $.fn.base\_href() $.fn.base\_href() $.fn.base\_href(base) 【功能】 用 JS 实现 相对路径的功能。 一般用来处理公共模板的路径不正确问题。 【参数】 base:相对路径值 【用例】 $('#threadlist').base\_href('../'); $.fn.base64\_encode\_file() $.fn.base64\_encode\_file() 【功能】 将文件的内容 base64 编码放入隐藏的同名控件。方便文件上传 【参数】 标签属性传参: <inputtype="file"multiple="multiple"class="form-control"name="file1"value=""data-assoc="img1"placeholder="选择文件"/> data-assoc:表示图片缩略图的ID(如果非图片则不显示) 【原理】 在文件选择后,生成一个隐藏的控件 hidden,名字与文件控件相同。内容为文件的 base64 编码。这样会随着表单一起 POST 发送到服务端。 【用例】 var jform=$("#form");var jsubmit=$("#submit"); jform.base64\_encode\_file();//对文件进行base64编码,处理文件上传,很方便 jform.on('submit',function(){jform.reset(); varpostdata=jform.serialize();jsubmit.button('loading'); $.xpost(jform.attr('action'),postdata,function(code,message){if(code==0) { $.alert(message);jsubmit.text(message).delay(3000).location();return; }else{ alert(message);jsubmit.button('reset'); } }); returnfalse; }); 服务端获取: <?php // ... $data=param\_base64('file1');file\_put\_contents('1.jpg',$data); ?>