1/** 2 * rhhz.js ---ä»å软件å端æä»¶jséå 3 * tools{ 4 * subTextMax:ææ¬å 容æé¿åº¦è®¾ç½®æªå, 5 * menuView:æç §é¡µé¢è®¾ç½®è¿è¡é¡µé¢èå对åºé«äº® 6 * } 7 * function{ 8 * hasChinese:夿å½åå¯¹è±¡ä¸æ¯å¦å å«ä¸æå符, 9 * trim:è§£å³IE 对jquery Trimæ¹æ³çå ¼å®¹æ§, 10 * startWith:夿å½å对象æ¯å¦ä»¥å符å¼å§, 11 * endWith:夿å符串æ¯å¦ä»¥åç¬¦ç»æ, 12 * getFileUrl:è·åæ¬å°èµæºæä»¶çè·¯å¾, 13 * preImg:é¢è§æ¬å°å¾ç, 14 * getUrlParam:è·åURLåæ°å表, 15 * getRefSupIndex:è·ååèæç®å¼ç¨ç´¢å¼, 16 * isNull:å¤æå¯¹è±¡æ¯å¦ä¸ºç©º, 17 * formatDateToEn:å°æ¥æè½¬æ¢æè±ææ ¼å¼ 2016-1-1 --> 01 Jan 2016 18 * GetRandomNum:è·åéæºæ° 19 * dateStr:è·åç½é¡µé¡¶é¨æ¾ç¤ºéè¦çæ¥æä¿¡æ¯ åæ°ï¼type 1:䏿 2è±æ 3è±æç®å ï¼ 2017-1-11 ææä¸; Wednesday, 11 January, 2017 ;Jan 20th, Wednesday 20 * shareTools(type,obj):åäº«å·¥å ·ï¼qzone,sina,weixin,renren,google+,facebook,linkedin,twitter 21 * } 22 * 23 * @version v1.0 24 * @date 2016-09-30 25 */ 26 27+function ($) { 28 //设置å符串æªåé»è®¤åæ° 29 var subTextDefaluts = { 30 add_title:true, //é»è®¤æªååè®¾ç½®å ¨å 容title 31 trim:true,//é»è®¤æªååå»é¤é¦å°¾ç©ºåæ¢è¡ï¼æè§æ²¡å¥ç¨ï¼åé¢èèåæ¶ 32 content_type:'html',//é»è®¤å¤çå 容为htmlæ ç¾ï¼å¦è®¾ç½®ä¸ºtext伿¸ é¤åææ ç¾ 33 keep_len:10//é»è®¤æªåä¿ç10个å符ï¼å»ºè®®éç¨é ç½®æ¹å¼æè 卿 ç¾ä¸è®¾ç½® 34 }; 35 36 //设置èåé«äº®é»è®¤åæ° 37 var menuDefaults = { 38 defaultPage:'index', //é»è®¤è·åä¸å°é¡µé¢ç´¢å¼ï¼è®¾ç½®ä¸ºé¦é¡µ 39 pageViewId:'pageViewId', //页é¢ç´¢å¼åå¼ID 40 hightLightTag:'li', //éè¦è®¾ç½®é«äº®çæ ç¾ 41 highLightClass:'current', //å½å页éä¸é«äº®class 42 pageRelAttr:'rel_page', //èåå表ä¸ç´¢å¼å±æ§æ è¯ 43 pageRelTag:'li span' //èåå表ä¸ç´¢å¼å弿 ç¾ï¼é»è®¤åtext().trim(),pageRelTagåpageRelAtträ¸éè¦åæ¶åå¨ 44 } 45 46 $.fn.subTextMax = function(options) { 47 var opts = $.extend({}, subTextDefaluts, options); 48 return this.each(function(){ 49 var keepindex = parseInt($(this).attr("keep_len") == undefined ? opts.keep_len : $(this).attr("keep_len"));//è¶ åºkeepå¼éè¦æªå 50 var contentHtml = $(this).html().replace(/ /ig, '').replace(/\s+/g, ' ').replace(/\t|\r|\n/g,"").replace('<sec> <b>','<sec><b>').replace(/<br[ ]*[/]{0,1}>/g,"<br/>").trim(); 51 //var contentText = $(this).text().replace(/ /ig, '').replace(/\s+/g, ' ').replace(/\t|\r|\n/g,"").trim(); 52 var contentText = filterHTMLTag(contentHtml); 53 54 if(contentText.length > keepindex){ 55 //妿éè¦ï¼å¯å titleï¼titleä¸ºå ¨é¨ææ¬å 容 56 if(opts.add_title){ 57 if($(this).attr("title")==''||$(this).attr("title") == undefined){ 58 $(this).attr("title",contentText); 59 } 60 } 61 contentText = contentText.substr(0,keepindex); 62 if(opts.content_type == 'text'){ 63 $(this).html(contentText + "..."); 64 }else{ 65 //对HTMLæ ç¾å 容è¿è¡æªåå为å个æ¥éª¤1åå¨åææ ç¾ 2æç §textè¿è¡æªå 3对æªååçtextè¿è¡æ ç¾æå ¥ 4è¡¥å ¨æªéåæ ç¾ 66 //1.å¤çåææ ç¾ 67 //è·åå½åå 容ä¸çå个æ ç¾åæå¨ä½ç½® 68 var rgx = /<[^<^>]+>/; //æ ç¾å¹é æ£å 69 var index = 0; 70 var tags = new Array(); 71 while(rgx.test(contentHtml)){ 72 var t = new Object(); 73 //æ ç¾åºç°çä½ç½® 74 t.index = index + contentHtml.search(rgx); 75 //æ ç¾å 容 76 t.tag = contentHtml.match(rgx).toString(); 77 //æ¯æ¬¡å¹é 第ä¸ä¸ªæ ç¾ï¼å¹é å®å 餿¤æ ç¾ï¼åæ¶ç´¢å¼ä½ç½®å å½åæ ç¾çé¿åº¦ 78 var len = contentHtml.search(/<[^<^>]+>/) + contentHtml.match(/<[^<^>]+>/)[0].length; 79 contentHtml = contentHtml.substr(len); 80 index += len; 81 tags.push(t); 82 } 83 //2.æªåtextå 容ï¼ä¸é¢å·²ç»æªåè¿äº 84 //3.å¡«å åææ ç¾ 85 if(tags.length > 0){ 86 $.each(tags,function(i,e){ 87 if(e.index > contentText.length){ 88 //妿å½åèç¹çå¼å§ä½ç½®å¤§äºå½åè¿åå符串çé¿åº¦åä¸åç»§ç»å¤æ 89 tags = tags.slice(0,i); 90 return false; 91 }else{ 92 //å°åææ ç¾æå ¥åä½ç½® 93 contentText = contentText.substr(0,e.index) + e.tag + contentText.substr(e.index,contentText.length); 94 } 95 }) 96 } 97 //4.éåæ ç¾
98 //è·åæªéåæ ç¾ï¼æ ç¾å¡«å æ¶ä¸éè¦å¡«å çæ ç¾é½è¢«sliceè¿æ»¤æäºï¼æä»¥å©ä¸ç齿¯å·²ç»å¨å 容ä¸çæ ç¾äºï¼éè¦è¿è¡å¤æéåå¤ç 99 var insertTags = new Array();//å·²æ£ç¡®æå ¥æ ç¾ 100 var uncloseTags = new Array();//æªéåæ ç¾ 101 if(tags.length > 0){ 102 $.each(tags,function(i,e){ 103 //å å°æææå ¥çæ ç¾æ¾å°æå ¥åæªéååè¡¨ä¸ 104 uncloseTags.push(e.tag); 105 insertTags.push(e.tag); 106 }) 107 $.each(insertTags,function(i,e){ 108 //èªéåæ ç¾ä¸éè¦è¡¥å ¨ï¼å é¤å¦<br/> 109 if(/<[^<^>^\/]+\/>/.test(e)){ 110 uncloseTags.splice($.inArray(e,uncloseTags),1); 111 return true; 112 } 113 //对左æ ç¾è¿è¡éå夿ï¼å¦æåæ¶åå¨ä¸ç»å·¦å³æ ç¾ï¼ååæ¶å é¤å³å¯ï¼ç±äºæç»çå é¤ï¼æä»¥ä¸ç¨èèå¤ä¸ª<div>对åºä¸ä¸ª</div>çæ åµï¼æä»¬åªéè¦æç §é¡ºåºè·åå°æªéåçå表å³å¯ 114 if(/<[^<^>^\/]+>/.test(e)){ 115 var tagClosed = ""; 116 if(e.indexOf(" ") > 0){ 117 tagClosed = "</" + e.substring(1, e.indexOf(" ")) + ">"; 118 }else{ 119 tagClosed = "</" + e.substring(1, e.length); 120 } 121 //åæ¶åå¨éåæ ç¾ 122 if($.inArray(tagClosed,uncloseTags) != -1){ 123 uncloseTags.splice($.inArray(e,uncloseTags),1); 124 uncloseTags.splice($.inArray(tagClosed,uncloseTags),1); 125 } 126 } 127 }) 128 } 129 //æ¤æ¶uncloseTagså·²ç»æ¯æªéåçæ ç¾åè¡¨äº 130 //çæéåæ ç¾ï¼æ ¹æ®æ ç¾åµå¥è§åï¼å³æ ç¾åå·¦æ ç¾å¯¹åºï¼å¦<div><p> -- </p></div>ï¼æä»¥å å°æªéåæ ç¾æ°ç»éåº 131 if(uncloseTags.length > 0){ 132 var closeTagStr = ""; 133 uncloseTags.reverse(); 134 $.each(uncloseTags,function(i,e){ 135 if(e.indexOf(" ") > 0){ 136 closeTagStr += "</" + e.substring(1, e.indexOf(" ")) + ">"; 137 }else{ 138 closeTagStr += "</" + e.substring(1, e.length); 139 } 140 }) 141 contentText += "..." + closeTagStr; 142 }else{ 143 contentText += "..."; 144 } 145 //æ¼æ¥å®æ 146 $(this).html(contentText); 147 } 148 149 } 150 }) 151 } 152}(jQuery); 153 154/** 155 * èªå®ä¹å符串ç»å°¾å¤å®æ¹æ³ï¼ä»¥sç»å°¾è¿åtrueï¼å¦åè¿åfalse 156 * @param s 157 * @return 158 */ 159String.prototype.endWith = function(s) { 160 if (s == null || s == "" || this.length == 0 || s.length > this.length) 161 return false; 162 if (this.substring(this.length - s.length) == s) 163 return true; 164 else 165 return false; 166 return true; 167} 168 169/** 170 * èªå®ä¹å符串å¼å§å¤å®æ¹æ³ï¼ä»¥så¼å§è¿åtrueï¼å¦åè¿åfalse 171 * @param s 172 * @return 173 */ 174String.prototype.startWith = function(s) { 175 if (s == null || s == "" || this.length == 0 || s.length > this.length) 176 return false; 177 if (this.substr(0, s.length) == s) 178 return true; 179 else 180 return false; 181 return true; 182} 183 184/** 185 * IEæµè§å¨å ¼å®¹jquery trimæ¹æ³ 186 * @return 187 */ 188String.prototype.trim=function(){ 189 return this.replace(/(^\s*)|(\s*$)/g, ""); 190} 191/** 192 * è·åå°åæ urlåæ° 193 * @param name 194 * @return 195 */ 196function getUrlParam(name){ 197 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 198 var r = window.location.search.substr(1).match(reg); 199 if(r!=null)return unescape(r[2]); return null; 200 //return $("#language").val(); 201} 202 203/** 204 * ä»åèæç®å¼ç¨ä¿¡æ¯ä¸æååèæç®ç´¢å¼ 205 * æ¯ææ ¼å¼"[1,3,5-8,11,13-18,19]" 206 * @param refSup 207 * @return 208 */ 209function getRefSupIndex(refSup){ 210 if(!isNull(refSup)){ 211 refSup = refSup.replace(/[\[|\]]/g, '').trim(); 212 var chars = ['~','â','â','ï¼','-','â','â']; 213 $.each(chars,function(ind,val){ 214 var reg = new RegExp(val,"g"); 215 refSup = refSup.replace(reg,'&'); 216 }); 217 var refIndexs = [] ; 218 $.each(refSup.split(","),function(i,e){ 219 if(isNaN(e)){ 220 var startEnd = e.split("&"); 221 var start = parseInt(startEnd[0]); 222 var end = parseInt(startEnd[1]); 223 for(var i = start ; i <= end ; i++){ 224 refIndexs.push(i); 225 } 226 }else{ 227 refIndexs.push(e); 228 } 229 }) 230 //alert(refIndexs); 231 return refIndexs; 232 } 233 return null; 234} 235 236/** 237 * å°è£ å¤æå¯¹è±¡ä¸ºç©ºæ¹æ³ 238 * @param object 239 * @return 240 */ 241function isNull(object){ 242 return typeof(object) == "undefined" || object == null || object == ""; 243} 244 245/** 246 * è·åéæºæ° 247 * @param Min 248 * @param Max 249 * @return 250 */ 251function GetRandomNum(Min,Max){ 252 var Range = Max - Min; 253 var Rand = Math.random(); 254 return(Min + Math.round(Rand * Range)); 255} 256 257/** 258 * è·åç½é¡µé¡¶é¨æ¾ç¤ºéè¦çæ¥æä¿¡æ¯ 259 * @param type 1:䏿 2è±æ 3è±æç®å 260 * 2017-1-11 ææä¸ 261 * Wednesday, 11 January, 2017 262 * Jan 20th, Wednesday 263 * @return 264 */ 265function dateStr(type){ 266 var date = new Date(); 267 return parseInt(type) == 1 ? 268 formatDate(date,type) + " "+ getTodayWeek(type) : 269 getTodayWeek(type) + ", " +formatDate(date,type) ; 270} 271 272 273/** 274 * å°æ¥ææ ¼å¼åæè±ææ ¼å¼ 275 * 2017-1-11 276 * 11 January, 2017 277 * Jan 11, 2017 278 * @param date 279 * */ 280function formatDate(date,type){ 281 if(!isNull(date)){ 282 var dateStr = JSON.stringify(date).substring(1,11); 283 var dateVal = dateStr.split("-");
284 var month = dateVal[1]; 285 if(month.charAt(0)== 0){month = month.charAt(1);} 286 var monthArray = new Array 287 ("January","February","March","April","May","June","July","August", 288 "September","October","November","December"); 289 var monthArraySimple = new Array 290 ("Jan","Feb","Mar","Apr","May","June","July","Aug", 291 "Sep","Oct","Nov","Dec"); 292 switch (type) { 293 case 1 : 294 return dateStr; 295 case 2 : 296 return dateVal[2]+" "+monthArray[month-1]+", "+dateVal[0]; 297 case 3 : 298 return monthArraySimple[month-1]+" "+dateVal[2]+", "+dateVal[0]; 299 } 300 } 301} 302 303/** 304 * è·åææå 305 * @param type 1:䏿 2è±æ 3è±æç®å 306 * @return 307 */ 308function getTodayWeek(type){ 309 var chinese = new Array("æææ¥", "ææä¸", "ææäº", "ææä¸", "ææå", "ææäº", "ææå "); 310 var english = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"); 311 var englishSigle = new Array("Sun.","Mon.", "Tues.", "Wed.", "Thur.", "Fri.", "Sat."); 312 var week = new Date().getDay(); 313 switch (type) { 314 case 1 : 315 return chinese[week];
316 case 2 : 317 return english[week]; 318 case 3 : 319 return englishSigle[week]; 320 } 321} 322 323/** 324 * åäº«å·¥å ·æ¹æ³ 325 * @param type 326 * @return 327 */ 328function shareTools(type,obj){ 329 var url = window.location; 330 var title = $("title").text(); 331 var description = $("meta[name='abstract']").attr("content") || $("meta[name='description']").attr("content") || $("meta[name='dc.description']").attr("content") || $("meta[http-equiv='description']").attr("content"); 332 var shareUrl = ""; 333 switch (type) 334 { 335 case 'qzone': 336 shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+url+"&title="+title; 337 break; 338 case 'sina': 339 shareUrl = "http://service.weibo.com/share/share.php?title="+title+"&url="+url+"&pic="; 340 break; 341 case 'weixin': 342 shareUrl = local_host + "util/QrcodeServlet?url="+url; 343 break; 344 case 'renren': 345 shareUrl = "http://widget.renren.com/dialog/share?resourceUrl="+url+"&srcUrl="+url+"&title="+title+"&pic=&description="+description; 346 break; 347 case 'google+': 348 shareUrl = "https://plus.google.com/share?url="+url+"&t="+title; 349 break; 350 case 'facebook': 351 shareUrl = "http://www.facebook.com/sharer.php?s=100&p[title]="+title+"&p[summary]="+description+"&p[url]="+url+"&p[images]="; 352 break; 353 case 'linkedin': 354 shareUrl = "http://www.linkedin.com/shareArticle?armin=armin&ro=true&mini=true&url="+url+"&source=&title="+title+"&summary="+description; 355 break; 356 case 'twitter': 357 shareUrl = "https://twitter.com/intent/tweet?text="+title+"&url="+url; 358 break; 359 default: 360 shareUrl = "http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url="+url+"&title="+title; 361 break; 362 } 363 if("weixin" == type){ 364 $(".weixinQrcode").attr("src",shareUrl); 365 }else{ 366 window.open(shareUrl, "_blank"); 367 } 368} 369function closeWeiXinBox(obj){ 370 $(obj).parent().hide(); 371} 372 373//è¿æ»¤HTMLæ ç¾ 374function filterHTMLTag(str) { 375 var msg = str.replace(/<\/?[^>]*>/g, ''); //å»é¤HTML Tag 376 msg = msg.replace(/[|]*\n/, ''); //å»é¤è¡å°¾ç©ºæ ¼ 377 msg = msg.replace(/ /ig, ''); //廿npsp 378 return msg; 379}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.