??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲av无码偷拍在线观看,亚洲短视频男人的影院,亚洲国产精品xo在线观看http://www.tkk7.com/wshao/category/54087.htmlzh-cnTue, 31 Dec 2013 07:22:26 GMTTue, 31 Dec 2013 07:22:26 GMT60使用jQuery解析JSON数据http://www.tkk7.com/wshao/archive/2013/12/31/408291.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:29:00 GMThttp://www.tkk7.com/wshao/archive/2013/12/31/408291.htmlhttp://www.tkk7.com/wshao/comments/408291.htmlhttp://www.tkk7.com/wshao/archive/2013/12/31/408291.html#Feedback0http://www.tkk7.com/wshao/comments/commentRss/408291.htmlhttp://www.tkk7.com/wshao/services/trackbacks/408291.html

在本中Q我们将使用jQueryq行数据解析。JSON数据如下Q是一个嵌套JSONQ?/p>

{"comments":[{"content":"很不错嘛","id":1,"nickname":"U_"},{"content":"哟西哟西","id":2,"nickname":""}]}

获取JSON数据Q在jQuery中有一个简单的Ҏ(gu) $.getJSON() 可以实现?/p>

下面引用的是官方API?.getJSON()的说明:

jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)] )

urlA string containing the URL to which the request is sent.

dataA map or string that is sent to the server with the request.

success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.

回调函数中接受三个参敎ͼW一个书q回的数据,W二个是状态,W三个是jQuery的XMLHttpRequestQ我们只使用到第一个参数?/p>

$.each()是用来在回调函数中解析JSON数据的方法,下面是官Ҏ(gu):

jQuery.each( collection, callback(indexInArray, valueOfElement) )

collectionThe object or array to iterate over.

callback(indexInArray, valueOfElement)The function that will be executed on every object.

$.each()Ҏ(gu)接受两个参数Q第一个是需要遍历的对象集合QJSON对象集合Q,W二个是用来遍历的方法,q个Ҏ(gu)又接受两个参敎ͼW一个是遍历的indexQ第二个是当前遍历的倹{哈哈,有了$.each()Ҏ(gu)JSON的解析就q刃而解咯?*^__^*) d……

 

复制代码
function loadInfo() {
$.getJSON(
"loadInfo", function(data) {
$(
"#info").html("");//清空info内容
$.each(data.comments, function(i, item) {
$(
"#info").append(
"<div>" + item.id + "</div>" +
"<div>" + item.nickname + "</div>" +
"<div>" + item.content + "</div><hr/>");
});
});
}
复制代码

正如上面Qloadinfo是请求的地址Qfunction(data){...}是在请求成功后的回调函敎ͼdata装了返回的JSON对象Q在下面?.each(data.comments,function(i,item){...})Ҏ(gu)中data.comments直接到达 JSON数据内包含的JSON数组Q?/p>

[{"content":"很不错嘛","id":1,"nickname":"U_"},{"content":"哟西哟西","id":2,"nickname":""}]

$.each()Ҏ(gu)中的function是对这个数l进行遍历,再通过操作DOM插入到合适的地方的。在遍历的过E中Q我们可以很方便的访问当前遍历index(代码中的”i“)和当前遍历的?代码中的”item“)?/p>

上例的运行结果如下:

如果q回的JSON数据比较复杂Q则只需多些$.each()q行遍历卛_Q嘿ѝ例如如下JSON数据Q?/p>

{"comments":[{"content":"很不错嘛","id":1,"nickname":"U_"},{"content":"哟西哟西","id":2,"nickname":""}],"content":"你是木头人,哈哈?/span>","infomap":{"性别":"?/span>","职业":"E序?/span>","博客":"http:\/\/www.cnblogs.com\/codeplus\/"},"title":"123木头?/span>"}

js如下Q?/p>

复制代码
function loadInfo() {
$.getJSON(
"loadInfo", function(data) {
$(
"#title").append(data.title+"<hr/>");
$(
"#content").append(data.content+"<hr/>");
//jquery解析map数据
$.each(data.infomap,function(key,value){
$(
"#mapinfo").append(key+"----"+value+"<br/><hr/>");
});
//解析数组
$.each(data.comments, function(i, item) {
$(
"#info").append(
"<div>" + item.id + "</div>" +
"<div>" + item.nickname + "</div>" +
"<div>" + item.content + "</div><hr/>");
});
});
}
复制代码

值得注意的是Q?.each()遍历Map的时候,function()中的参数是key和valueQ十分方ѝ?/p>

上例的运行效果:

jQuery很强大,so...更多的了解还得参考文,(ˇˍˇQ?惻I



]]>
重复提交、重复刷新、防止后退的问题以及处理方?/title><link>http://www.tkk7.com/wshao/archive/2013/12/31/408287.html</link><dc:creator>午后星期?/dc:creator><author>午后星期?/author><pubDate>Tue, 31 Dec 2013 06:25:00 GMT</pubDate><guid>http://www.tkk7.com/wshao/archive/2013/12/31/408287.html</guid><wfw:comment>http://www.tkk7.com/wshao/comments/408287.html</wfw:comment><comments>http://www.tkk7.com/wshao/archive/2013/12/31/408287.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wshao/comments/commentRss/408287.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wshao/services/trackbacks/408287.html</trackback:ping><description><![CDATA[<p><span id="ArticleContent1_ArticleContent1_lblContent">重复提交、重复刷新、防止后退的问题以及处理方?/span></p> <p>一。前a<br />你在M一个比较专业的BBS都会看到q样的问题,即你Google一下,也会发现有很多的人在x和询问,但大家给出的解决Ҏ(gu)却都是千差万别,Q有的hd采用脚本来解?有的则想重定向到别的面;有的则将此问题提升到Token的角度)Z么会有如此大的差异呢Q?/p> <p>二。问题场?br />首先Q我们应该先了解Z么要处理q样的问题?或者专业一点就是它适合的场景是什么?Q似乎只有h来问没有人来解释Q?/p> <p>1。重复提交、重复刷新的场景<br />重复提交、重复刷新都是来解决pȝ重复记录的问题。也是说某个h在多ơ的提交某条记录Qؓ什么?也许是闲了没有事情干?最有可能是用户Ҏ(gu)׃知道自己的提交结果是否已l执行了Q!Q?/p> <p>但出Cq样的问题ƈ不见得就必须处理Q要看你所开发的pȝ的类别而定。比如你接手的是某个资源理pȝQ系l本w从需求的角度Ҏ(gu)׃允许出现" 重复"的记录,在这样需求的U束条g下,L行重复的提交动作只会引发“业务U异?#8221;的生,Ҏ(gu)׃可能执行成功也就无所谓避免不避免的问题了?/p> <p> </p> <p>2。防止后退的场?br />了解了重复刷新、重复提交的场景Q我们来了解一?防止后退"操作的原因是什么?比如你在开发某个投系l,它有很多的步骤,q且q些步骤之间是有联系的,比如W一步会某些信息发送给W二步,W二步缓存了q些信息Q同时将自n的信息发送给了第三步。。。。。等{,如果此时用户处在W三步骤下,我们惌一下某个淘气用L用户点击了后退按钮Q此时屏q出CW二步骤的页面,他再ơ的修改或者再ơ的提交Q进入到下一个步骤(也就是第三步骤)Q错误就会在此生?Q什么错误呢Q最为典型的是q样的操作直接导致了对于W一个步骤信息的丢失Q(如果q样的信息是依靠Request存放的话Q当然你可以存放?Session或者更大的上下文环境中Q但q不是个好主意!关于信息存放的问题,下次在就q个问题详细的讨论)</p> <p><br />三。如何处理的问题<br />当然很多的系l(比如订票pȝ从需求上本n是允怸人重复订的Q是必须要避免重复刷新、重复提交、以及防止后退的问题的Q但即是这L问题Q也要区分如何处理以及在哪里处理的(|上只是告诉你如何处理,但很去区分在哪里处理的Q,昄处理的方式无非是客户端或者服务器端两U,而面对不同的位置处理的方式也是不同的Q但有一点要事先声明QQ何客LQ尤其是B/S端)的处理都是不可信ȝQ最好的也是最应该的是服务器端的处理方法?/p> <p>客户端处理:<br />面对客户端我们可以用Javascript脚本来解冻I如下</p> <p>1。重复刷新、重复提?br />Ways OneQ设|一个变量,只允许提交一ơ?br /><script language="javascript"> <br />    var checkSubmitFlg = false; <br />    function checkSubmit() { <br />      if (checkSubmitFlg == true) { <br />         return false; <br />      } <br />      checkSubmitFlg = true; <br />      return true; <br />   } <br />   document.ondblclick = function docondblclick() { <br />    window.event.returnValue = false; <br />   } <br />   document.onclick = function doconclick() { <br />       if (checkSubmitFlg) { <br />         window.event.returnValue = false; <br />       } <br />   } <br /></script> <br /><html:form action="myAction.do" method="post" onsubmit="return checkSubmit();"></p> <p>Way Two : 提交按钮或者image|ؓdisable<br />  <html:form action="myAction.do" method="post"  <br />    onsubmit="getElById('submitInput').disabled = true; return true;">   <br />  <html:image styleId="submitInput" src="images/ok_b.gif" border="0" /> <br />  </html:form>  </p> <p>2。防止用户后退<br />q里的方法是千姿百态,有的是更Ҏ(gu)览器的历史纪录的Q比如用window.history.forward()Ҏ(gu);有的?#8220;用新面的URL替换当前的历史纪录,q样览历史记录中就只有一个页面,后退按钮永远不会变ؓ可用?#8221;比如使用 javascript:location.replace(this.href); event.returnValue=false; </p> <p><br />2.服务器端的处理(q里只说Struts框架的处理)<br />利用同步令牌QTokenQ机制来解决Web应用中重复提交的问题QStruts也给Z一个参考实现?/p> <p>基本原理Q?br />服务器端在处理到辄h之前Q会请求中包含的o牌g保存在当前用户会话中的o牌D行比较,<br />看是否匹配。在处理完该h后,且在{复发送给客户端之前,会产生一个新的o牌,该o牌除传给<br />客户端以外,也会用户会话中保存的旧的o牌进行替换。这样如果用户回退到刚才的提交面q再?br />提交的话Q客L传过来的令牌和服务器端的o牌不一_从而有效地防止了重复提交的发生?/p> <p>if (isTokenValid(request, true)) { <br />    // your code here <br />    return mapping.findForward("success"); <br />} else { <br />    saveToken(request); <br />    return mapping.findForward("submitagain"); <br />} </p> <p>StrutsҎ(gu)用户会话ID和当前系l时间来生成一个唯一Q对于每个会话)令牌的,具体实现可以参?br />TokenProcessorcM的generateToken()Ҏ(gu)?/p> <p>1. //验证事务控制令牌,<html:form >会自动根据session中标识生成一个隐含input代表令牌Q防止两ơ提?br />2. 在action中:</p> <p><br />       //<input type="hidden" name="org.apache.struts.taglib.html.TOKEN"  <br />       //  value="6aa35341f25184fd996c4c918255c3ae"> <br />       if (!isTokenValid(request)) <br />           errors.add(ActionErrors.GLOBAL_ERROR, <br />                      new ActionError("error.transaction.token")); <br />       resetToken(request); //删除session中的令牌 </p> <p>3. action有这L一个方法生成o?br />   protected String generateToken(HttpServletRequest request) { <br />       HttpSession session = request.getSession(); <br />       try { <br />           byte id[] = session.getId().getBytes(); <br />           byte now[] = <br />               new Long(System.currentTimeMillis()).toString().getBytes(); <br />           MessageDigest md = MessageDigest.getInstance("MD5"); <br />           md.update(id); <br />           md.update(now); <br />           return (toHex(md.digest())); <br />       } catch (IllegalStateException e) { <br />           return (null); <br />       } catch (NoSuchAlgorithmException e) { <br />           return (null); <br />       } <br />   }  </p> <p>ȝ<br />对于重复提交、重复刷新、防止后退{等都是属于pȝ为避免重复记录而需要解决的问题Q在客户端去处理需要针Ҏ(gu)一U的可能提出相应的解x案,然而在服务器端看来只不q是对于数据真实性的验问题,Z令牌的处理就是一x逸的Ҏ(gu)?/p> <p>同时我们也看刎ͼ从不同的角度ȝ待问题,其解决的Ҏ(gu)也是不同的。客L更追求的是用L操作Q而服务端则将注意力放在了数据的处理上Q所以在某个对于服务器端看似Ҏ(gu)的问题上Q用客户端来解决却麻烦了很多Q反之依然。所以在某些问题的处理上我们需要综合考虑和^衡,是用客户端来解决Q还是用服务器端来处理?<br /><br />[转蝲出处] <a id="ArticleContent1_ArticleContent1_AuthorBlogLink" target="_blank">http://blog.csdn.net/Killvin/</a></p><img src ="http://www.tkk7.com/wshao/aggbug/408287.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wshao/" target="_blank">午后星期?/a> 2013-12-31 14:25 <a href="http://www.tkk7.com/wshao/archive/2013/12/31/408287.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 增,删,查,?cookieshttp://www.tkk7.com/wshao/archive/2013/12/31/408286.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:23:00 GMThttp://www.tkk7.com/wshao/archive/2013/12/31/408286.htmlhttp://www.tkk7.com/wshao/comments/408286.htmlhttp://www.tkk7.com/wshao/archive/2013/12/31/408286.html#Feedback0http://www.tkk7.com/wshao/comments/commentRss/408286.htmlhttp://www.tkk7.com/wshao/services/trackbacks/408286.html
//写cookies函数 作者:振?br />function SetCookie(name,value)//两个参数Q一个是cookie的名子,一个是?br />{
    var Days = 30; //?cookie 被保存 30 ?br />    var exp  = new Date();    //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name)//取cookies函数       
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;

}
function delCookie(name)//删除cookie
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}



SetCookie ("xiaoqi", "3")
alert(getCookie('xiaoqi'));
</script>

一个非常实用的javascriptdCookie函数

一个非常实用的javascriptdCookie函数 
function  GetCookieVal(offset)
//获得Cookie解码后的?br />{
var  endstr  =  documents.cookie.indexOf  (";",  offset);
if  (endstr  ==  -1)
endstr  =  documents.cookie.length;
return  unescape(documents.cookie.substring(offset,  endstr));
}
function  SetCookie(name,  value)
//讑֮Cookie?br />{
var  expdate  =  new  Date();
var  argv  =  SetCookie.arguments;
var  argc  =  SetCookie.arguments.length;
var  expires  =  (argc  >  2)  ?  argv[2]  :  null;
var  path  =  (argc  >  3)  ?  argv[3]  :  null;
var  domain  =  (argc  >  4)  ?  argv[4]  :  null;
var  secure  =  (argc  >  5)  ?  argv[5]  :  false;
if(expires!=null)  expdate.setTime(expdate.getTime()  +  (  expires  *  1000  ));
documents.cookie  =  name  +  "="  +  escape  (value)  +((expires  ==  null)  ?  ""  :  (";  expires="+  expdate.toGMTString()))
+((path  ==  null)  ?  ""  :  (";  path="  +  path))  +((domain  ==  null)  ?  ""  :  (";  domain="  +  domain))
+((secure  ==  true)  ?  ";  secure"  :  "");
}
function  DelCookie(name)
//删除Cookie
{
var  exp  =  new  Date();
exp.setTime  (exp.getTime()  -  1);
var  cval  =  GetCookie  (name);
documents.cookie  =  name  +  "="  +  cval  +  ";  expires="+  exp.toGMTString();
}
function  GetCookie(name)
//获得Cookie的原始?br />{
var  arg  =  name  +  "=";
var  alen  =  arg.length;
var  clen  =  documents.cookie.length;
var  i  =  0;
while  (i  <  clen)
{
var  j  =  i  +  alen;
if  (documents.cookie.substring(i,  j)  ==  arg)
return  GetCookieVal  (j);
i  =  documents.cookie.indexOf("  ",  i)  +  1;
if  (i  ==  0)  break;
}
return  null;
}


<SCRIPT  language="javascript">
<!--
function  openpopup(){
url="popup.htm"
window.open("gonggao.htm","gonggao","width=260,height=212,left=200,top=0")
}

function  get_cookie(Name)  {
var  search  =  Name  +  "="
var  returnvalue  =  "";
if  (documents.cookie.length  >  0)  {
offset  =  documents.cookie.indexOf(search)
if  (offset  !=  -1)  {
offset  +=  search.length
end  =  documents.cookie.indexOf(";",  offset);
if  (end  ==  -1)
end  =  documents.cookie.length;
returnvalue=unescape(documents.cookie.substring(offset,  end))
}
}
return  returnvalue;
}

function  helpor_net(){
if  (get_cookie('popped')==''){
openpopup()
documents.cookie="popped=yes"
}
}
helpor_net()
//-->
</SCRIPT>


如果点了定Q只要不清cookieQ以后访问都不会再提C,如果不点定则每ơ都会提C。放在js文g里,全站包含

<SCRIPT LANGUAGE="JavaScript">
<!--
var the_cookie = document.cookie;
var broken_cookie = the_cookie.split(":");
var the_visiteraccepted = unescape(broken_cookie[1]);
//
if (the_visiteraccepted=="undefined"){
        var tmp=confirm('中国Z时何地?);
        if(tmp==false){
                window.close();
        }else{
                var the_visiteraccepted = 1;        
        var the_cookie = "ILoveChina=visiteraccepted:" + escape(the_visiteraccepted);                                
        document.cookie = the_cookie;
        }
}
//-->
</SCRIPT>


1. Cookie的兼Ҏ(gu)问?br />
MCookie的格式有2个不同的版本Q第一个版本,我们UCؓCookie Version 0Q是最初由Netscape公司制定的,也被几乎所有的览器支持。而较新的版本QCookie Version 1Q则是根据RFC 2109文制定的。ؓ了确保兼Ҏ(gu),JAVA规定Q前面所提到的涉及Cookie的操作都是针Ҏ(gu)版本的Cookieq行的。而新版本的Cookie目前q不被Javax.servlet.http.Cookie包所支持?br />
M2. Cookie的内?br />
M同样?Cookie的内容的字符限制针对不同的Cookie版本也有不同。在Cookie Version 0中,某些Ҏ(gu)的字W,例如Q空|Ҏ(gu)P圆括P{于P=Q,逗号Q双引号Q斜杠,问号Q@W号Q冒P分号都不能作为Cookie的内宏V这也就是ؓ什么我们在例子中设定Cookie的内容ؓ"Test_Content"的原因?br />
M虽然在Cookie Version 1规定中放宽了限制Q可以用这些字W,但是考虑到新版本的Cookie规范目前仍然没有为所有的览器所支持Q因而ؓ保险赯Q我们应该在Cookie的内容中量避免使用q些字符

]]>
JavaScript中json对象和string对象之间的{?/title><link>http://www.tkk7.com/wshao/archive/2013/12/31/408281.html</link><dc:creator>午后星期?/dc:creator><author>午后星期?/author><pubDate>Tue, 31 Dec 2013 06:20:00 GMT</pubDate><guid>http://www.tkk7.com/wshao/archive/2013/12/31/408281.html</guid><wfw:comment>http://www.tkk7.com/wshao/comments/408281.html</wfw:comment><comments>http://www.tkk7.com/wshao/archive/2013/12/31/408281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wshao/comments/commentRss/408281.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wshao/services/trackbacks/408281.html</trackback:ping><description><![CDATA[<div class="1666116" id="blog_text" class="cnt"> <p>json对象<br />var json = {aa:true,bb:true};<br />var json1 = {aa:'b',bb:{cc:true,dd:true}};<br />1Qjs操作json对象<br />   for(var item in json){<br />       alert(item);           //l果?aa,bb, cd?string<br />       alert(typeof(item));<br />       alert(ev<wbr>al("json."+item));   //l果是trueQtruecd是boolean<br />       ev<wbr>al(("json."+item+"=false;"));   //改变json对象的?br />   }<br /><br />2Qjson对象转化为String对象的方?br /><font color="#008080">1</font> <span style="color: #000000">       </span><span style="color: #008000">/*</span><span style="color: #008000">*<br /></span><span style="color: #008080">2</span> <span style="color: #008000">         * json对象转字W串形式<br /></span><span style="color: #008080">3</span> <span style="color: #008000">        </span><span style="color: #008000">*/</span><span style="color: #000000"><br /></span><span style="color: #008080">4</span> <span style="color: #000000">        </span><span style="color: #0000ff">function</span><span style="color: #000000"> json2str(o) {<br /></span><span style="color: #008080">5</span> <span style="color: #000000">            </span><span style="color: #0000ff">var</span><span style="color: #000000"> arr </span><span style="color: #000000">=</span><span style="color: #000000"> [];<br /></span><span style="color: #008080">6</span> <span style="color: #000000">            </span><span style="color: #0000ff">var</span><span style="color: #000000"> fmt </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">function</span><span style="color: #000000">(s) {<br /></span><span style="color: #008080">7</span> <span style="color: #000000">                </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #0000ff">typeof</span><span style="color: #000000"> s </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">'</span><span style="color: #000000">object</span><span style="color: #000000">'</span><span style="color: #000000"> </span><span style="color: #000000">&&</span><span style="color: #000000"> s </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">) </span><span style="color: #0000ff">return</span><span style="color: #000000"> json2str(s);<br /></span><span style="color: #008080">8</span> <span style="color: #000000">                </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">/</span><span style="color: #000000">^(string|number)$</span><span style="color: #000000">/</span><span style="color: #000000">.test(</span><span style="color: #0000ff">typeof</span><span style="color: #000000"> s) </span><span style="color: #000000">?</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">'</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> s </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">'</span><span style="color: #000000">"</span><span style="color: #000000"> : s;<br /></span><span style="color: #008080">9</span> <span style="color: #000000">             }<br /></span><span style="color: #008080">10</span> <span style="color: #000000">            </span><span style="color: #0000ff">for</span><span style="color: #000000"> (</span><span style="color: #0000ff">var</span><span style="color: #000000"> i </span><span style="color: #0000ff">in</span><span style="color: #000000"> o) arr.push(</span><span style="color: #000000">"</span><span style="color: #000000">'</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> i </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">"</span><span style="color: #000000">':</span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> fmt(o[i]));<br /></span><span style="color: #008080">11</span> <span style="color: #000000">            </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #000000">'</span><span style="color: #000000">{</span><span style="color: #000000">'</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> arr.join(</span><span style="color: #000000">'</span><span style="color: #000000">,</span><span style="color: #000000">'</span><span style="color: #000000">) </span><span style="color: #000000">+</span><span style="color: #000000"> </span><span style="color: #000000">'</span><span style="color: #000000">}</span><span style="color: #000000">'</span><span style="color: #000000">;<br /></span><span style="color: #008080">12</span> <span style="color: #000000">         }</span><br />3:string对象转化为json对象<br />function stringToJson(stringValue)<br />{<br />   ev<wbr>al("var theJsonValue = "+stringValue);<br />   return theJsonValue;<br />}<br /><br />4:json数组转化?String对象的方法(要掉要上面那个方法)<br />function JsonArrayToStringCfz(jsonArray)<br /><br />   var JsonArrayString = "[";<br />   for(var i=0;i<jsonArray.length;i++){<br />   JsonArrayString=JsonArrayString+JsonToStringCfz(jsonArray[i])+",";<br />   }<br />   JsonArrayString = JsonArrayString.substring(0,JsonArrayString.length-1)+"]";<br />   return JsonArrayString;<br />}<br />5 利用json.js json转string</p> <p><script src="json2.js"></script><br /><script><br />var date = {myArr : ["a" , "b" , "c" , "d"] , count : 4};<br />var str = JSON.stringify(date);<br />alert(str);<br /></script></p></div><img src ="http://www.tkk7.com/wshao/aggbug/408281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wshao/" target="_blank">午后星期?/a> 2013-12-31 14:20 <a href="http://www.tkk7.com/wshao/archive/2013/12/31/408281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS计算包含英文与汉字的字符串长?一个汉?2个字?http://www.tkk7.com/wshao/archive/2013/12/31/408272.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:06:00 GMThttp://www.tkk7.com/wshao/archive/2013/12/31/408272.htmlhttp://www.tkk7.com/wshao/comments/408272.htmlhttp://www.tkk7.com/wshao/archive/2013/12/31/408272.html#Feedback0http://www.tkk7.com/wshao/comments/commentRss/408272.htmlhttp://www.tkk7.com/wshao/services/trackbacks/408272.htmltbCharacters(str)
{
    var totalCount = 0;
    for (var i=0; i<str.length; i++)
    {
        var c = str.charCodeAt(i);
        if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f))
        {
             totalCount++;
        }
        else
            
             totalCount+=2;
        }
     }
    return totalCount;
}

]]>
JS截取字符长度Q按字节Q?/title><link>http://www.tkk7.com/wshao/archive/2013/12/31/408270.html</link><dc:creator>午后星期?/dc:creator><author>午后星期?/author><pubDate>Tue, 31 Dec 2013 06:04:00 GMT</pubDate><guid>http://www.tkk7.com/wshao/archive/2013/12/31/408270.html</guid><wfw:comment>http://www.tkk7.com/wshao/comments/408270.html</wfw:comment><comments>http://www.tkk7.com/wshao/archive/2013/12/31/408270.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wshao/comments/commentRss/408270.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wshao/services/trackbacks/408270.html</trackback:ping><description><![CDATA[<ol><li><span> <wbr>* <wbr>处理q长的字W串Q截取ƈd省略?/span> <wbr></li><li><span> <wbr>* <wbr>注:半角长度?Q全角长度ؓ2</span> <wbr></li><li><span> <wbr>* <wbr></span> <wbr></li><li><span> <wbr>* <wbr>pStr:字符?/span> <wbr></li><li><span> <wbr>* <wbr>pLen:截取长度</span> <wbr></li><li><span> <wbr>* <wbr></span> <wbr></li><li><span> <wbr>* <wbr>return: <wbr>截取后的字符?/span> <wbr></li><li><span> <wbr>*</span><span><br /></span></li><li><span>function</span><span> <wbr>autoAddEllipsis(pStr, <wbr>pLen) <wbr>{ <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_ret <wbr>= <wbr>cutString(pStr, <wbr>pLen); <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_cutFlag <wbr>= <wbr>_ret.cutflag; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_cutStringn <wbr>= <wbr>_ret.cutstring; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(</span><span>"1"</span><span> <wbr>== <wbr>_cutFlag) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>return</span><span> <wbr>_cutStringn <wbr>+ <wbr></span><span>"..."</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr><span>else</span><span> <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>return</span><span> <wbr>_cutStringn; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span>} <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span>*</span> <wbr></li><li><span> <wbr>* <wbr>取得指定长度的字W串</span> <wbr></li><li><span> <wbr>* <wbr>注:半角长度?Q全角长度ؓ2</span> <wbr></li><li><span> <wbr>* <wbr></span> <wbr></li><li><span> <wbr>* <wbr>pStr:字符?/span> <wbr></li><li><span> <wbr>* <wbr>pLen:截取长度</span> <wbr></li><li><span> <wbr>* <wbr></span> <wbr></li><li><span> <wbr>* <wbr>return: <wbr>截取后的字符?/span> <wbr></li><li><span> <wbr>*</span><span><br /></span></li><li><span>function</span><span> <wbr>cutString(pStr, <wbr>pLen) <wbr>{ <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>// <wbr>原字W串长度</span><span> <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_strLen <wbr>= <wbr>pStr.length; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_tmpCode; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_cutString; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>// <wbr>默认情况下,q回的字W串是原字符串的一部分</span><span> <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_cutFlag <wbr>= <wbr></span><span>"1"</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_lenCount <wbr>= <wbr>0; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>var</span><span> <wbr>_ret <wbr>= <wbr></span><span>false</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(_strLen <wbr><= <wbr>pLen/2) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_cutString <wbr>= <wbr>pStr; <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_ret <wbr>= <wbr><span>true</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(!_ret) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>for</span><span> <wbr>(</span><span>var</span><span> <wbr>i <wbr>= <wbr>0; <wbr>i <wbr>< <wbr>_strLen <wbr>; <wbr>i++ <wbr>) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(isFull(pStr.charAt(i))) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_lenCount <wbr>+= <wbr>2; <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>} <wbr><span>else</span><span> <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_lenCount <wbr>+= <wbr>1; <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(_lenCount <wbr>> <wbr>pLen) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_cutString <wbr>= <wbr>pStr.substring(0, <wbr>i); <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_ret <wbr>= <wbr><span>true</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>break</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>} <wbr><span>else</span><span> <wbr></span><span>if</span><span> <wbr>(_lenCount <wbr>== <wbr>pLen) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_cutString <wbr>= <wbr>pStr.substring(0, <wbr>i <wbr>+ <wbr>1); <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_ret <wbr>= <wbr><span>true</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>break</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(!_ret) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_cutString <wbr>= <wbr>pStr; <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_ret <wbr>= <wbr><span>true</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>(_cutString.length <wbr>== <wbr>_strLen) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>_cutFlag <wbr>= <wbr><span>"0"</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>return</span><span> <wbr>{</span><span>"cutstring"</span><span>:_cutString, <wbr></span><span>"cutflag"</span><span>:_cutFlag}; <wbr> <wbr></span></span></li><li><span>} <wbr> <wbr></span></li><li><span> <wbr> <wbr></span></li><li><span>*</span> <wbr></li><li><span> <wbr>* <wbr>判断是否为全?/span> <wbr></li><li><span> <wbr>* <wbr></span> <wbr></li><li><span> <wbr>* <wbr>pChar:长度?的字W串</span> <wbr></li><li><span> <wbr>* <wbr>return: <a style="color: #000000" >tb</a><wbr>true:全角</span> <wbr></li><li><span> <wbr>* <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>false:半角</span> <wbr></li><li><span> <wbr>*</span><span> <wbr><br /></span></li><li><br /></li><li><span> <wbr> <wbr></span></li><li><span>function</span><span> <wbr>isFull <wbr>(pChar) <wbr>{ <wbr><br /></span></li><li><span> <wbr> <wbr><span>for</span><span> <wbr>(</span><span>var</span><span> <wbr>i <wbr>= <wbr>0; <wbr>i <wbr><</span></span> <span>pChar.</span><span>strLen <wbr>; <wbr>i++ <wbr>) <wbr>{ <wbr> <wbr></span> <wbr> <wbr> <wbr> <span><br /></span></li><li><span> <wbr> <wbr> <wbr> <wbr><span>if</span><span> <wbr>((pChar.charCodeAt(i) <wbr>> <wbr>128)) <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>return</span><span> <wbr></span><span>true</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr><span>else</span><span> <wbr>{ <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr><span>return</span><span> <wbr></span><span>false</span><span>; <wbr> <wbr></span></span></li><li><span> <wbr> <wbr> <wbr> <wbr>} <wbr><br /></span></li><li><span>}<br /></span></li><li><span>}<br /></span></li><li><span>用例Q?/span></li><li>testStr = "试1字符?;<br />autoAddEllipsis(testStr, 1); // "?.."<br />autoAddEllipsis(testStr, 2); // "?.."<br />autoAddEllipsis(testStr, 3); // "?.."<br />autoAddEllipsis(testStr, 4); // "试..."<br />autoAddEllipsis(testStr, 5); // "试1..."<br />autoAddEllipsis(testStr, 6); // "试1..."<br />autoAddEllipsis(testStr, 7); // "试1?.." </li></ol><img src ="http://www.tkk7.com/wshao/aggbug/408270.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wshao/" target="_blank">午后星期?/a> 2013-12-31 14:04 <a href="http://www.tkk7.com/wshao/archive/2013/12/31/408270.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS 获取字符串长度,截取字符Ԍ中英文,一个汉字相当于2个字W)http://www.tkk7.com/wshao/archive/2013/12/31/408271.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 06:04:00 GMThttp://www.tkk7.com/wshao/archive/2013/12/31/408271.htmlhttp://www.tkk7.com/wshao/comments/408271.htmlhttp://www.tkk7.com/wshao/archive/2013/12/31/408271.html#Feedback0http://www.tkk7.com/wshao/comments/commentRss/408271.htmlhttp://www.tkk7.com/wshao/services/trackbacks/408271.html//一个汉字相当于2个字W?br />    function get_length(s){
        var char_length = 0;
        for (var i = 0; i < s.length; i++){
            var son_char = s.charAt(i);
            encodeURI(son_char).length > 2 ? char_length += 1 : char_length += 0.5;
        }
        return char_length;
    }
    function cut_str(stbr, len){
        var char_length = 0;
        for (var i = 0; i < str.length; i++){
            var son_str = str.charAt(i);
            encodeURI(son_str).length > 2 ? char_length += 1 : char_length += 0.5;
            if (char_length >= len){
                var sub_len = char_length == len ? i+1 : i;
                return str.substr(0, sub_len);
                break;
            }
        }
    }
//  截取15个字Q?0个字W)
//  cut_str('aa啊啊啊啊啊啊啊啊啊啊啊啊啊k的啊?, 15);
</script>

]]>
忘掉jQueryQ用JavaScript原生APIhttp://www.tkk7.com/wshao/archive/2013/12/31/408264.html午后星期?/dc:creator>午后星期?/author>Tue, 31 Dec 2013 05:55:00 GMThttp://www.tkk7.com/wshao/archive/2013/12/31/408264.htmlhttp://www.tkk7.com/wshao/comments/408264.htmlhttp://www.tkk7.com/wshao/archive/2013/12/31/408264.html#Feedback0http://www.tkk7.com/wshao/comments/commentRss/408264.htmlhttp://www.tkk7.com/wshao/services/trackbacks/408264.html阅读全文

]]>
վ֩ģ壺 ޹պ߹Ƶ| պ߹ۿ| ޾Ʒ͵Բ| ɫƵ| һĹ˾| һһƬƵ| 鵺̳Ʒ| þƬѹۿ| ۺϺݺݰ| Ƶ߹ۿ| AVһϵ | þþƵ| AVۺɫһ| һëƬ޶| Ļ| ˸Ƶ| ޵һڶĵ | պһ| mv߹ۿ| ޾ƷƵ߲| ձҳվ| һƵվ| Ʒާv벥| 69ƷƵ| ߹ۿAVպA| ޹V߹ۿ| þþƷѹۿ| AVɫ˿| Ļѹۿ| 99re6ƵƷ| ޾ƷҳĻ| ձѲ| ѹۿ| avרۿƷ| AVһ߹ۿ| պavѲ| պav| ޾ƷҹĻ| 2018Ƶѹۿ| av뾫Ʒַ| þþƷƵ|