天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

幾個(gè)高效,簡(jiǎn)潔的字符處理函數(shù)

              都是基于 String.prototype 的擴(kuò)展:
 起因是有個(gè)網(wǎng)友和我討論兩個(gè)函數(shù),
一個(gè)是 isDateTime (判斷字符是否是符合 yyyy-mm-dd hh:mm:ss日期格式)
另一個(gè)是 left 函數(shù),類似vbscript的left 實(shí)現(xiàn)中英文字符的混合截取。
他兩個(gè)函數(shù)都用了循環(huán),還用了N多 if 語句,每個(gè)函數(shù)都超過了40行代碼,問我有無好的辦法精簡(jiǎn)一下。
于是,我就寫出了下面的代碼,不敢說最效率最高,但是已經(jīng)是夠精簡(jiǎn)了, left函數(shù)才1行 
 復(fù)制代碼 代碼如下:
1 <script type="text/Javascript"> 
 2  
 3 //by Go_Rush(阿舜) from http://ashun.cnblogs.com/ 
 4  
 5 function $A(arrayLike){ 
 6     for(var i=0,ret=[];i<arrayLike.length;i++) ret.push(arrayLike[i]) 
 7     return ret 
 8 }; 
 9 Array.prototype.any=function(f){ 
10     for(var i=0;i<this.length;i++) if (f(this[i],i,this)) return true; 
11     return false 
12 }; 
13  
14  
15  
16 //判斷 字符串 是否符合 yyyy-mm-dd hh:mm:ss的日期格式, 格式正確而且閏年閏月等也要正確 
17  
18 String.prototype.isDateTime=function(){   
19     try{ 
20         var arr=(this.length==19)?this.split(//D/):[] 
21         --arr[1] 
22         eval("var d=new Date("+arr.join(",")+")")     
23         return     Number(arr[0])==d.getFullYear() && Number(arr[1])==d.getMonth()  
24                      && Number(arr[2])==d.getDate() && Number(arr[3])==d.getHours() 
25                     && Number(arr[4])==d.getMinutes() && Number(arr[5])==d.getSeconds() 
26     }catch(x){return false} 
27 } 
28  
29 /* 
30 alert("2002-12-12 10:10:40".isDateTime())  //true 
31 alert("2002-02-31 10:10:40".isDateTime())  //false 
32 alert("2002-22-31 10:10:40".isDateTime())  //false 
33 alert("2002-22-31 30:10:40".isDateTime())  //false 
34 */ 
35  
36  
37 // 檢查 是否以特定的字符串結(jié)束 
38 String.prototype.startsWith=function(){ 
39     var _string=this 
40     return $A(arguments).any(function(value){return _string.slice(0,value.length)==value}) 
41 }; 
42 /* 
43 alert("http://www.google.com/".startsWith("http://","ftp://","telNET://"))  //true  滿足其中任何一個(gè)就返回 true 
44 alert("http://www.google.com/".startsWith("https://","file://"))  //false 
45 alert("abc".startsWith("a"))  //true 
46 */ 
47  
48  
49 // 檢查 是否以特定的字符串結(jié)束 
50 String.prototype.endsWith=function(){ 
51     var _string=this 
52     return $A(arguments).any(function(value){return _string.slice(value.length*(-1))==value}) 
53 }; 
54  
55  
56  
57 //從左邊截取n個(gè)字符 ,如果包含漢字,則漢字按兩個(gè)字符計(jì)算 
58 String.prototype.left=function(n){ 
59     return this.slice(0,n-this.slice(0,n).replace(/[/x00-/xff]/g,"").length) 
60 }; 
61 /* 
62 alert("abcdefg".left(3)==="abc") 
63 alert("中國(guó)人cdefg".left(5)==="中國(guó)") 
64 alert("中國(guó)abcdefg".left(5)==="中國(guó)a") 
65 */ 
66  
67  
68  
69  
70 //從右邊截取n個(gè)字符 ,如果包含漢字,則漢字按兩個(gè)字符計(jì)算 
71 String.prototype.right=function(n){ 
72     return this.slice(this.slice(-n).replace(/[/x00-/xff]/g,"").length-n) 
73 }; 
74  
75 /* 
76 alert("abcdefg".right(3)==="efg") 
77 alert("cdefg中國(guó)人".right(5)==="國(guó)人") 
78 alert("abcdefg中國(guó)".right(5)==="g中國(guó)") 
79 */ 
80  
81 </script>

JavaScript技術(shù)幾個(gè)高效,簡(jiǎn)潔的字符處理函數(shù),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 啪啪漫画无遮挡全彩h同人 啪啪激情婷婷久久婷婷色五月 | 99re5久久热在线 | 成年视频xxxxxx在线 | 精品无码国产自产在线观看 | 野花社区WWW韩国日本 | 亚洲国产成人精品无码区APP | 亚洲黄色在线播放 | 1级午夜影院费免区 | 九九视频在线观看视频6 | 日韩亚射吧 | 超碰在线视频97 | 受被攻做到腿发颤高h文 | 91popny蜜桃臀| 国产午夜亚洲精品不卡电影 | 成人免费毛片观看 | 97人妻碰视频在线观看 | SM高H黄暴NP辣H调教性奴 | 国产成在线观看免费视频 | 国产成人高清精品免费5388密 | 精品区2区3区4区产品乱码9 | 在线观看成人3d动漫入口 | 久久无码AV亚洲精品色午夜 | 人妻少妇久久久久久97人妻 | 插曲的痛30分钟视频最新章节 | 男男腐文污高干嗯啊快点1V1 | 欧美一区二区激情视频 | 呻吟翘臀后进爆白浆 | 午夜福到在线4国产 | 伊人大香线蕉精品在线播放 | 一区精品在线 | 久久亚洲AV无码精品午色夜麻豆 | 亚洲热在线视频 | 丰满老熟女白浆直流 | 久久频这里精品99香蕉久网址 | 中文字幕完整高清版 | 视频一区国产精戏刘婷30 | 亚洲黄网站wwwwww | 亚洲高清国产品国语在线观看 | 囯产精品一品二区三区 | 久色视频网 | 久久视热频国只有精品 |