PageSourceSearch

https://www.2898.com/js/config.js?v=20210508

js 2898.com collected 2026-10-06 19:43:55 UTC 8,288 bytes, 244 lines download raw bytes

1var preg = {//正则表达式
2    email:/^([\w-*\.*]+@[\w-?]+[\.\w{2,}]+)/,//邮箱正则
3    mobile:/^(1[3-9]\d{9}$)/ ,//手机号码正则
4    web:/(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/,
5    wurl:/^((https?|ftp|news|http):\/\/)?([0-9a-z_-]+\.)+[a-z]{2,6}$/,
6    qq:/^[1-9][0-9]{4,9}$/,  //qq正则
7    wxreg: /^[a-zA-Z]{1}[\-_a-zA-Z0-9]{5,19}$/, //微信号正则
8    title:/[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030|\ufffc|\s/gi //只保留中文、英文、数组、普通字符
9    // ~!@#$%&^*()_+{}:"|><?[];'\,./`·~!@#¥%……*&()-——=+{}【】:”|《》?;’,、。、
10    
11    // wurl:/^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$/
12}
13var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
14+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@ 
15+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184 
16+ "|" // 允许IP和DOMAIN(域名)
17+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www. 
18+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名 
19+ "[a-z]{2,6})" // first level domain- .com or .museum 
20+ "(:[0-9]{1,4})?" // 端口- :80 
21+ "((/?)|" // a slash isn't required if there is no file name 
22+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
23var re = new RegExp(strRegex);
24var memberUrl = function(url,obj){
25    var str = parameter(obj);
26    return fil('member',url+str);
27}
28var bizopptyUrl = function(url,obj){
29    var str = parameter(obj);
30    return fil('bizoppty',url+str);
31}
32var fil = function(act,str){
33    var yu = '&';
34    if(str.indexOf('?')==-1)yu = '?';
35    return '/'+act+str+yu+'rands='+Math.random();
36}
37var adminUrl = function(url,obj){
38    var str = parameter(obj);
39    return fil('admin',url+str);
40}
41
42var indexUrl = function(url,obj){
43    var str = parameter(obj);
44    return fil('index',url+str);
45}
46//http
47var ExtranetUrl=function(url,obj){
48    var str = parameter(obj);
49    return url+str;
50}
51
52var parameter = function(obj){
53    if(!obj)return '';
54    var str = '?';
55    var t = typeof obj;
56    if(t == 'object'){
57        var strArr = [];
58        for (var o in obj){
59            if(obj[o])strArr.push(encodeURIComponent(o) + "=" + encodeURIComponent(obj[o]));
60        }
61        str += strArr.join('&');
62    }
63    if(t == 'string'){
64        str += obj
65    }
66    if(str=='?')return '';
67    return str;
68}
69
70
71
72var httpError = function(error){
73    //('请求发生错误'+error);
74}
75
76function clearNoNum(obj){ 
77    obj.value = obj.value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符  
78    obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的  
79    obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 
80    obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数  
81    if(obj.value.indexOf(".")< 0 && obj.value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 
82        obj.value= parseFloat(obj.value); 
83    } 
84} 
85// 过滤除中、英文和普通字符以外的其他符合
86function filtTitle(s){ 
87    return s.replace(preg.title,'');
88} 
89function clearString(value){
90    value = String(value) 
91    value = value.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符  
92    value = value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的  
93    value = value.replace(".","$#$").replace(/\./g,"").replace("$#$","."); 
94    value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数  
95    if(value.indexOf(".")< 0 && value !=""){//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额 
96        value= parseFloat(value); 
97    }
98    return value 
99}
100// 计算字符串长度 汉字为2 字母为1
101function getLength(str){
102    var len = 0; 
103    for (var i=0; i<str.length; i++) {    
104        if (str.charCodeAt(i) > 127 || str.charCodeAt(i)== 94) {    
105             len += 2;    
106         } else {    
107             len ++;    
108         }    
109     }    
110    return len;    
111}
112
113// 提取url参数
114function getQueryString(name) {
115    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
116    var r = window.location.search.substr(1).match(reg);
117    if (r != null) return unescape(r[2]); return null;
118}
119
120function staticHost(url){
121    if(!url)return;
122    var url_add=url.slice(0,1);
123    if(url_add=='/'){
124        return '//cdn.2898.com'+url
125    }else{
126        return '//cdn.2898.com/'+url
127    }
128}
129Date.prototype.format = function(format)  
130{  
131/* 
132* format="yyyy-MM-dd hh:mm:ss"; 
133*/  
134var o = {  
135"M+" : this.getMonth() + 1,  
136"d+" : this.getDate(),  
137"h+" : this.getHours(),  
138"m+" : this.getMinutes(),  
139"s+" : this.getSeconds(),  
140"q+" : Math.floor((this.getMonth() + 3) / 3),  
141"S" : this.getMilliseconds()  
142}  
143  
144if (/(y+)/.test(format))  
145{  
146format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4  
147- RegExp.$1.length));  
148}  
149  
150for (var k in o)  
151{  
152if (new RegExp("(" + k + ")").test(format))  
153{  
154format = format.replace(RegExp.$1, RegExp.$1.length == 1  
155? o[k]  
156: ("00" + o[k]).substr(("" + o[k]).length));  
157}  
158}  
159return format;  
160} 
161
162function setLocalStorage(name,val){
163  return localStorage.setItem(name, JSON.stringify(val))
164}
165function getLocalStorage(name){
166    return localStorage.getItem(name) || false;
167    
168}
169// 用户是否签到
170$(function(){
171    if(!window.localStorage)return false;
172    var sign = window.localStorage.getItem('user_sign')
173    if(sign){
174        var info  = JSON.parse(JSON.parse(sign));
175        if(info.date == (new Date().format('yyyy-MM-dd'))){       
176            $(".head_sign").addClass('is_sign')
177        }else{
178            $(".head_sign").removeClass('is_sign')
179        }
180    }
181})
182
183
184function isInteger(obj) {
185    return Math.floor( Number(obj) ) === Number(obj)
186}
187var  referer = '';
188
189function goHref(url){
190    if(url){
191        window.location.href = url
192    }else{
193        window.location.href = '/'
194    }
195}
196// 手机号替换
197function replace_phone(phone){
198    return String(phone).replace(/(\d{3})(\d{4})(\d{4})/,'$1****$2')
199}
200
201
202//头部搜索
203function onSearch(){
204    var type=$('.search_type').text();
205    var val=$('.search_val').val();
206    switch(type){
207        case '友情链接': return location.href="/friendlink.htm?search="+val;
208        case '网站广告': return location.href="/fontlink.htm?search="+val;
209        case '微博广告': return location.href="/media.htm?search="+val;   
210        case '微信公众号':return location.href="/media_wx.htm?search="+val;    
211        case '网站交易':return location.href="/web_exchange.htm?search="+val;    
212        case '软文交易':return location.href="softtext.htm?search="+val;    
213        case '免费换链':return location.href="/friendchange.htm?search="+val;    
214        case '商机加盟':return location.href="/business.htm?search="+val;    
215       
216    }
217}
218// 跳转后搜索
219function starSearch(str,fun,v,type){
220    if(v){
221        $('.search_val').val(str);
222    }else{
223        if(str && fun){
224            $('.search_val').val(str);
225            fun() 
226        }
227    }
228  
229    $('.search_type').text(type);
230}
231// 深度拷贝
232function deepClone(source){
233    var targetObj = source.constructor === Array ? [] : {};
234    for(var keys in source){ // 遍历目标
235      if(source.hasOwnProperty(keys)){
236        if(source[keys] && typeof source[keys] === 'object'){ 
237          targetObj[keys] = deepClone(source[keys]);
238        }else{ 
239          targetObj[keys] = source[keys];
240        }
241      }
242    }
243    return targetObj;
244  } 

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.