javascript js知识锦集,正则表达式, jQuery去除空格 js获取当前域名和端口号以及完整URL

JavaScript获取当天的域名、端口

window.location.protocol+"//"+window.location.host; //   返回https://mp.csdn.net

window.location.host; //返回url 的主机部分,例如:mp.csdn.net  
window.location.hostname; //返回mp.csdn.net
window.location.href; //返回整个url字符串(在浏览器中就是完整的地址栏)
window.location.pathname; //返回/a/index.php或者/index.php  
window.location.protocol; //返回url 的协议部分,例如: http:,ftp:,maito:等等。  
window.location.port //url 的端口部分,如果采用默认的80端口,那么返回值并不是默认的80而是空字符  
 
一、js获取当前项目域名
	 var domain = document.domain; // http://www.baidu.com
	 var domain = window.location.host;

二、获取项目端口号
var port = location.port; //获取端口号 8080
var host = location.host; //获取主机名+端口号 例如:192.168.0.1:8080
三、获取当前项目URL
URL指的是浏览器的地址栏的网址,其中包括域名+端口号+当前页面的路由,例如: http://www.baidu.com:8080/home/index?a=0&&b=1
    var url = window.location.href;
  var url = self.location.href;
  var url = document.URL;
  var url = document.location;
四、获取当前项目域名+端口+路由
在支付宝支付开发中,遇到需要传url给后端,支付成功后需要跳到自己项目之前的订单页面,这时候用类似 var url = window.location.href;获取url的方法,会出现一个问题,会把后面?后面的参数也带过去,其实我们并不需要后面的参数,我们需要如下: http://www.baidu.com:8080/home/index这种格式,下面的方法可以处理:

 	 const routerIndex = window.location.href.indexOf('?'); // 判断URL后面有没有参数
     const url = window.location.href.slice(0, routerIndex > 0 ? routerIndex : window.location.href.length); // 截取元素URL,获取我们需要的URL地址

————————————————
原文链接:https://blog.csdn.net/qq_40657321/article/details/106332441

JavaScript捕获回车键

window.onload = function (){
        document.getElementById("mytext").onkeydown = function (event){
            if (event.keyCode == 13)
            alert("点击了回车!");
        }
    }
————————————————
var timeoutId;
var highlightindex = -1;
var swd1;
$(function() {
    $("#srhkey").keyup(function(event) {
        var myEvent = event || window.event;
        var keyCode = myEvent.keyCode;
        if (keyCode >= 65 && keyCode <= 90 || keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 111 || keyCode >= 186 && keyCode <= 222 || keyCode == 8 || keyCode == 46 || keyCode == 32) {
            // keycode 65~90 字母abc 48-57 数字1-9和其上档键 96-111数字键盘和功能按键  186-222 符号按键 8退格键 删除 46 delete删除键 32空格按键
            // srchsug();
            searchword = $("#srhkey").val();
            // console.log(searchword);
            if(searchword){
                searchword = searchword.trim();
                // 关键词预测
                forecast(searchword);
                // 去掉末尾空格 避免重复请求
                if((searchword != swd1) && (searchword.length < 20)){
                    srchsug();
                    swd1 = searchword;
                }
            }
            if (highlightindex != -1) {
                highlightindex = -1;
            }
        } else {
            if (keyCode == 38 || keyCode == 40) {
                if (keyCode == 38) {
                    // Up 键盘向上选择
                    var autoNodes = $("#auto").children("div");
                    if (highlightindex != -1) {
                        autoNodes.eq(highlightindex).css("background-color", "white");
                        highlightindex--
                    } else {
                        highlightindex = autoNodes.length - 1;
                    }
                    if (highlightindex == -1) {
                        highlightindex = autoNodes.length - 1;
                    }
                    autoNodes.eq(highlightindex).css("background-color", "#ebebeb");
                    var comText = autoNodes.eq(highlightindex).text();
                    // 选择关键词后也进行预测
                    $("#srhkey").val(comText);
                    forecast(comText);

                }
                if (keyCode == 40) {
                    // Down向下选择
                    var autoNodes = $("#auto").children("div");
                    if (highlightindex != -1) {
                        autoNodes.eq(highlightindex).css("background-color", "white")
                    }
                    highlightindex++;
                    if (highlightindex == autoNodes.length) {
                        highlightindex = 0
                    }
                    autoNodes.eq(highlightindex).css("background-color", "#ebebeb");
                    var comText = autoNodes.eq(highlightindex).text();

                    $("#srhkey").val(comText);
                    // 选择关键词后也进行预测
                    forecast(comText);
                }
            } else {
                if (keyCode == 27) {
                    // 27 Escape 取消按键
                    if ($("#auto").is(":visible")) {
                        $("#auto").hide();
                    }
                }
            }
        }
    });
    document.onclick = function(e) {
        var e = e ? e: window.event;
        var tar = e.srcElement || e.target;
        if (tar.id != "srhkey") {
            if ($("#auto").is(":visible")) {
                $("#auto").css("display", "none")
            }
        };
        // 鼠标轩中后预测
        forecast($("#srhkey").val());
        // 鼠标选中后  手点选项后 翻译
        get_youdao_data($("#srhkey").val());


    }
});

JavaScript 随机正数或负数

我需要创建一个随机-1或1来乘以一个已经存在的数字。问题是我目前的随机函数产生-1,0或1.这样做的最有效方法是什么?

用 Math.random()即可。如果< 0.5,那么-1,否则1:
表达式1:
var plusOrMinus = Math.random() < 0.5 ? -1 : 1; 
表达式2:
Math.round(Math.random()) * 2 - 1 

Math.random()会给你[0,1],
小于0.5,三目运算结果为true,那就取值-1,
大于0.5,三目运算结果为false,那就取值1。

Math.round(Math.random())会给你0或1,
乘以2的结果会给你0或2,
再减去1给你-1或1。
https://blog.csdn.net/mChales_Liu/article/details/106287904



前端基础JS——input输入框的oninput事件和onchange事件

<input type="text" oninput="getValue();" id="inputbtn"/>
<p id="inputcont"></p>	

<script type="text/javascript">
function getValue(){
   var btn = document.getElementById("inputbtn");
   var box = document.getElementById("inputcont");
    box.innerHTML  = btn.value;
}
</script>

在开发过程中,input用的比较多的是change事件,忽略了还有input事件。

onchange——input输入过程中不会触发,失去焦点时才会触发;
    兼容性:所有浏览器都支持,可以用于<input>, <select>, 和 <textarea>元素。

oninput——在用户输入时触发,它是在元素值发生变化时立即触发;实时触发
    缺陷:从脚本中修改值不会触发事件。从浏览器下拉提示框里选取值时不会触发。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。
链接:https://blog.csdn.net/WXY19951125/article/details/84871276

JavaScript键盘鼠标事件 keycode对照表 https://blog.csdn.net/Sheng_zhenzhen/article/details/106797855

JavaScript获取时间戳

new Date().getTime(); //1603009495724,精确到毫秒
new Date().valueOf(); //1603009495724.精确到毫秒
Date.parse(new Date()); //1603009257000,精确到秒
Date.parse() 方法解析一个表示某个日期的字符串,并返回从1970-1-1 00:00:00 UTC 到该日期对象(该日期对象的UTC时间)的毫秒数,如果该字符串无法识别,或者一些情况下,包含了不合法的日期数值(如:2015-02-31),则返回值为NaN。

不推荐在ES5之前使用Date.parse方法,因为字符串的解析完全取决于实现。直到至今,不同宿主在如何解析日期字符串上仍存在许多差异,因此最好还是手动解析日期字符串(在需要适应不同格式时库能起到很大帮助

原文链接:https://blog.csdn.net/weixin_46021847/article/details/109146476

javascript 对象是否存在

  目标:if (myObj不存在){
    声明myObj;

  }

方法一:如果不存在则创建
  if (!myObj) {
    var myObj = { };

  }
方法二:  这是目前使用最广泛的判断javascript对象是否存在的方法。
 if (typeof myObj == "undefined") {
    var myObj = { };

  }

JavaScript正则表达式

JavaScript正则表达式匹配:不包含某字符或字符串
匹配不包含问号的字符串,采用如下正则表达式:/^[^\?]*$/
其中:^是开头,$是结尾;^是非;\? 问号转义;*允许空值;

不包含某字符串(如“hit”)需要特殊处理,不然他会把字母都拆开,去分别判断“h”、“i”、“t”,
/^.*hit.*$/
/^((?!hit).)*$/
应用:比如想把history模式的路由改为哈希模式,在/hit/后面加#,
就可以这样来替换x=x.replace(/\/hit\//gi, "/hit/#");
https://blog.csdn.net/a704386029/article/details/122093276


js构造正则表达式

方式1:字面量创建
var reg = /正则表达式/修饰符;
方式2:构建函数创造
var reg = new RegExp('正则表达式','修饰符')

修饰符
​ i: ignoreCase, 匹配忽视大小写
​ m: multiline , 多行匹配
​ g: global , 全局匹配


                // re = new RegExp("(kw)|\\d+|方", "g", "m", "i");
                // mystr +=  "<br>replace:" +  kw_f1.replace(re, "&nbsp;替换:");
                // mystr +=  "<br>match:" +  kw_f1.match(re);
;
正则表达式调用方法

1. exec:​ 匹配字符串和正则表达式的方法,匹配成功:返回一个数组 [匹配内容,index:匹配的起始位置,input:要匹配的字符串, group:undefined],匹配失败,返回null

var str = 'hello world hello'; 
var reg = /hello/g; 
console.log(reg.exec(str)) //返回[ 'hello', index: 0, input: 'hello world hello', groups: undefined ] 

2 test ​ 测试待检测的字符串是或否能匹配到,匹配到返回true,否则返回false
                // mystr +=  "<br>test:" +  re.test(kw_f1);
                // mystr +=  "<br>t<p>e<p>s<p>t<p>:<p>"

3.match 返回数组列表

4.search 返回首个对象

JavaScript正则表达式字符含义
\d  [0-9] 数字字符
\D  [^0-9] 非数字字符
\w 匹配包括下划线的任何单个字符,包括AZ,az,0~9和下划线**""**,等效于[a-zA-Z0-9] 取反:\W
\s 匹配任何Unicode空白字符,包括空格、制表符、换页符等,等效于[\f\t\n\r]

^表示匹配开始的字符
$表示匹配结束位置的字符

*	>=0次
+	≥1 次
?	0或1次
{n}	n 次
{n,}	≥n 次
{n,m}	n到m 次

https://blog.csdn.net/weixin_50698273/article/details/124957421


Js 正则表达式匹配字符串中是否含有中文

通常在特定的情景里,有的字符串是不允许存在中文字符的,因此我们可以通过正则表达式来匹配。废话不多说,上代码
function checkChinese(obj_val){
    var reg = new RegExp("[\\u4E00-\\u9FFF]+","g");
    if(reg.test(obj_val)){
        alert('字符串中含有中文');
    }
}
应用:
            // url 提取
            if((kw_f.match("https?:\/\/.*[^s]", "i"))){
                // 链接提取
                let new_url = kw_f.match(/(https?:\/\/.*)/img)[0];
                new_url = new_url.replace(/(?:[\u4E00-\u9FFF]|\s).*/imgs, '');
                // 遇到中文,空格,等开始,后面都不要了
                // console.log(new_url);


js去除空格的方式

1. replace正则匹配方法
去除字符串内所有的空格:str = str.replace(/\s*/g,"");
var str = " 6 6 ";
var str_1 = str.replace(/\s*/g,"");
console.log(str_1); //66

去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,"");
var str = " 6 6 ";
var str_1 = str.replace(/^\s*|\s*$/g,"");
console.log(str_1); //6 6//输出左右侧均无空格

去除字符串内左侧的空格:str = str.replace(/^\s*/,"");
var str = " 6 6 ";
var str_1 = str.replace(/^\s*/,"");
console.log(str_1); //6 6 //输出右侧有空格左侧无空格

去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,"");
var str = " 6 6 ";
var str_1 = str.replace(/(\s*$)/g,"");
console.log(str_1); // 6 6//输出左侧有空格右侧无空格


2. str.trim()方法
trim()方法是用来删除字符串两端的空白字符并返回,trim方法并不影响原来的字符串本身,它返回的是一个新的字符串。
缺陷:只能去除字符串两端的空格,不能去除中间的空格
  单独去除左侧空格则使用 str.trimLeft();
  单独去除右侧空格则使用 str.trimRight();

var str = " 6 6 ";
var str_1 = str.trim();
console.log(str_1); //6 6//输出左右侧均无空格

jQuery方法:$.trim(str)方法
$.trim() 函数用于去除字符串两端的空白字符。
var str = " 6 6 ";
var str_1 = $.trim(str);
console.log(str_1); //6 6//输出左右侧均无空格

注意:$.trim() 函数会移除字符串开始和末尾处的所有换行符,空格(包括连续的空格)和制表符。如果这些空白字符在字符串中间时,它们将被保留,不会被移除。


————————————————
https://www.cnblogs.com/a-cat/p/8872498.html

js 匹配URL的正则表达式

获取字符串中所有 a 标签的 href 的值及其中间的文本内容
const linkReg = /<a href="(.*)">(.*)<\/a>/ig;
const linkArray = [];
str.replace(linkReg, (...args) => linkArray.push({ href: args[1], text: args[2] }));
console.log(linkArray);

匹配所有的 img 标签的 src 的值
const imgArray = [];
const imgReg = /(<img.*src="(.*?)".*\/?>)/ig;
str.replace(imgReg, (...args) => imgArray.push(args[2]));
 
//  ---- 或者  ----
const imgArray2 = [];
let match = null;
do {
    match = imgReg.exec(str);
    match && imgArray2.push(match[2]);
} while (match);
 
//  两种方式的结果是一样的
console.log(imgArray);
console.log(imgArray2);

匹配出所有的字符串中所有的URL, 不区分html标签
const urlReg = /['"](https?:\/\/.*?)["']$?/ig;
const urlArrray = str.match(urlReg);
js 使用正则表达式验证url地址
/(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/imgs

js 最新手机号码、电话号码正则表达式
/^1[3-9]\d{9}$/imgs

JavaScript查找字符串 案例

<script type="text/javascript">
	var str='https://   k    w       _f w           w      京东    .m     比基尼     i    淘宝    SH57815296067758348975 a      o   v. com m/2		0    192.168.1.1、127.0.0.1a    1  3 地 	15296067758方 localhost.mp4.m3u8';
	// var str='152967897758';
//查找字符串
//alert(str.indexOf('m'));
//从第几位开始找
//alert(str.indexOf('m',5));
var strr="时间:吕肉丝是可爱的狗";
//截取字符串
var mystr = strr.substring(0,3);
mystr += new Date();
// $("#testjs").html((strr.substring(0,3)));
forecast(str);
var kw_match="", kw_res="";
function forecast(kw_f){
    $(document).ready(function(){
        mystr += "<br>" + "kwf:" + kw_f;
        kw_f1 = kw_f.replace(/\s*/g,"");
        // 正则表达式去掉所有空格
        mystr += "<br>" + "kw_f1去掉空格:" + kw_f1;
        try{
        	var arr_forecast = new Array();
        	// url http开头的
        	if(kw_f1.match('^https?:\/\/', "i", "g", "m")){
        		// url http开头
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": kw_f1.match(/^https?:\/\/.*/img), "btn_text": "打开链接", "short_text": "打开"})}
        	// url http开头的
        	if(/\.mp4$|\.m3u8$|\.mp3$|\.avi$/imgs.test(kw_f1)){
        		// url http开头
        		// url http开头
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": ("baseplayurl:+ " + kw_f1), "btn_text": "在线播放", "short_text": "播放"})}
        	// url 提取
        	if((kw_f.match("https?:\/\/.*[^s]", "i"))){
        		// url http开头
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": kw_f1.match(/(https?\:\/\/.*?\.(?:com.cn|com|co|cn|net|org|edu|top|vip|online|tech|tv|la|us|cc|xyz|site|art|en|link|biz|in).*?)/img), "btn_text": "链接提取", "short_text": "提取"})}
        	if(/\.co|\.cn|\.net|\.org|\.edu|\.top|\.vip|\.online|\.tech|\.tv|\.la|\.us|\.cc|\.xyz|\.site|\.art|\.en|\.link|\.biz|\.in/img.test(kw_f1)){
					// 域名
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": ("https://" + kw_f1), "btn_text": "访问域名", "short_text": "访问"})}
        	if(kw_f1.match('192\.168\.|127\.0\.|localhost', "i", "g", "m")){
        		// 本地站点
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": ("https://" + kw_f1), "btn_text": "本地站点", "short_text": "测试"})}
        	if((/\d{9}/imsg.test(kw_f1))){
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": kw_f1.match(/\d{9,}/img)[0], "btn_text": "快递查询", "short_text": "快递"})}
        	if((/1(3|4|5|6|7|8|9)\d{9}/.test(kw_f1))){
				arr_forecast.push({"ock": "o_s_url(this)", "base_url": kw_f1.match(/(1(3|4|5|6|7|8|9)\d{9})/img)[0], "btn_text": "电话查询", "short_text": "电话"})}
        	if((/淘宝|天猫|拼多多/imsg.test(kw_f1))){
        	if((/京东|京喜|网上商城/imsg.test(kw_f1))){
        	if((/pic|image|img|findimg|花瓣|婚纱|景观|图|照|素材|背景|画面|纹理|桌面|相片|壁纸|头像|手抄报|美女|清纯|性感|漂亮|唯美|比基尼|异域|美腿|唯美|风景|星空|简约|个性|古风|女人|帅|哥|姐|明星|模特|豪车|集美|写真|长腿/imsg.test(kw_f1))){
					arr_forecast.push({"ock": "o_s_url(this)", "base_url": kw_f1.match(/(1(3|4|5|6|7|8|9)\d{9})/img)[0], "btn_text": "图片搜索", "short_text": "图片"})}
        	mystr += "<br>&nbsp;<p>&nbsp;<p>&nbsp;<p>&nbsp;<p>&nbsp;<p>&nbsp;<p>" + "数组:<br>";
        	for (i in arr_forecast){
        		mystr += "<p>"  + arr_forecast[i].btn_text + "&nbsp;" + arr_forecast[i].base_url;
        		$(("#srhbt66"+i)).html(arr_forecast[i].short_text);
        		if (i==0){}}
        	mystr +=  "<br><p>数组完:<br>" +"<br>&nbsp;<p>&nbsp;<p>&nbsp;<p>&nbsp;<p>&nbsp;<p>&nbsp;<p>";
        		re = new RegExp("(kw)|\\d+|方", "g", "m", "i");
				mystr +=  "<br>replace:" +  kw_f1.replace(re, "&nbsp;替换:");
				mystr +=  "<br>match:" +  kw_f1.match(re);
				// test 测试待检测的字符串是或否能匹配到,匹配到返回true,否则返回false
				mystr +=  "<br>test:" +  re.test(kw_f1);
				mystr +=  "<br>t<p>e<p>s<p>t<p>:<p>";}catch(e){
        	mystr += "<br>" + "err:" + e;}
	$("#testjs").html(mystr);})}
function forecast_test(kw_f){
    $(document).ready(function(){
        mystr += "<br>" + "kwf:" + kw_f;
        kw_f1 = kw_f.replace(/\s*/g,"");
        // 正则表达式去掉所有空格
        // 
        mystr += "<br>" + "kw_f1去掉空格:" + kw_f1;
        let url_pattern = "/^(https?:\/\/)([0-9a-z.]+)(:[0-9]+)?([/0-9a-z.]+)?(\?[0-9a-z&=]+)?(#[0-9-a-z]+)?/i";
        // var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
        // + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
        // + "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
        // + "|" // 允许IP和DOMAIN(域名)
        // + "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
        // + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
        // + "[a-z]{2,6})" // first level domain- .com or .museum
        // + "(:[0-9]{1,4})?" // 端口- :80
        // + "((/?)|" // a slash isn't required if there is no file name
        // + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
        // kw_res = url_match.exec(kw_f1);
        try{
        		const urlReg = /(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/ig;
				const urlArrray = kw_f1.match(urlReg);
				mystr += "<br>&nbsp;<p>&nbsp;</p>&nbsp;<p>&nbsp;</p>" + "urlArrray:" + urlArrray;
				var strRegex ='(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]';
				mystr += "<br>" + "strRegex:" + kw_f.match(strRegex);
				if(kw_f1.match(strRegex)){
					mystr += "<br>" + "恭喜你匹配成功";};
				var strRegex = new RegExp('(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]');
				mystr += "<br>" + "strRegex test:" + strRegex.test(kw_f);
        		re = new RegExp("(kw)|\\d+|方", "g", "m", "i");
				mystr +=  "<br>replace:" +  kw_f1.replace(re, "&nbsp;替换:");
				mystr +=  "<br>match:" +  kw_f1.match(re);
				mystr +=  "<br>search:" +  kw_f1.search(re);
				// exec
				// ​ 返回一个数组 [匹配内容,index:匹配的起始位置,input:要匹配的字符串, group:undefined]
				// ​ 匹配失败:
				// ​ 返回null
				mystr +=  "<br>exec:" +  re.exec(kw_f1);
				// test 测试待检测的字符串是或否能匹配到,匹配到返回true,否则返回false
				mystr +=  "<br>test:" +  re.test(kw_f1);
				mystr +=  "<br>lastIndex:" +  re.lastIndex;}catch(e){
        	mystr += "<br>" + "err:" + e;}
	$("#testjs").html(mystr);})}
/*
if(
    if(preg_match('/http/i',
        preg_match_all("/https?:\/\/[\w-.%#?\/\\\]+/i",
        //print_r(
        foreach(
        {}
        echo
        // 媒体地址文件
        if(preg_match('/\.mp4/i',}elseif(preg_match('/\.m3u8/i',}elseif(preg_match('/\.mp3/i',}elseif(preg_match('/\.avi/i',}else{};}elseif(preg_match('/\.co|\.cn|\.net|\.org|\.edu|\.top|\.vip|\.online|\.tech|\.tv|\.la|\.us|\.cc|\.xyz|\.site|\.art|\.en|\.link|\.biz|\.in/i',
      if(preg_match('/www/i',}}elseif(preg_match('/192\.168\.|127\.0\.|localhost/i',
      // 本地服务器地址}elseif(preg_match('/^1[3456789]\d{9}$/ims',
      // 电话号码 区号查询}elseif(preg_match('/\d{9}/ims',
      // 超过9位数的数字 快递查询,顺丰不需要登陆,内容是菜鸟裹裹提供的,准确度高,时效快}elseif(preg_match('/淘宝|天猫|拼多多/i',
      // 淘宝购物}elseif(preg_match('/京东|京喜|网上商城/i',
      // 京东购物}elseif(preg_match('/比价|购物|值得|便宜/i',
      // 慢慢买 比价}elseif(preg_match('/百科|baike|近义词|反义词|词语出处|成语出处|拼音|典故|成语故事|成语寓意|词语典故|词语寓意|词语运用|成语运用|词语用法|成语用法|成语辨析|词语辨析|词语注释|古诗/i',
      // 百科}elseif(preg_match('/豆瓣|影评|douban/i',
      // 豆瓣}elseif(preg_match('/有限公司$|有限责任公司$/i',
          // 企业信息查询
          $rand = rand(1,
          $url = $urla[($rand - 1)];}elseif(preg_match('/App|apk|应用|store|手机软件|移动端|手机版|移动版|軟體|手机下载|安卓版|鸿蒙版|华为版|Android/i',
      // 应用下载}elseif(preg_match('/动漫|漫画/i',
      // 动漫 漫画}elseif(preg_match('/^[A-Za-z]+$|词典|单词|例句|造句|双语|句子|有道|英语/i',
      // 纯字母组成的单词查询  直接进行有道词典翻译}else{};};
*/
</script>

您可能还喜欢...

发表回复