小弟菜鸟,最近写段点JS程序遇到点问题,就是查判断搜索引擎来路和搜索关键字
如:var s=document.referrer
if ((s.indexOf("google")>0 || s.indexOf("baidu")>0 ||s.indexOf("sogou")>0 ||s.indexOf("soso")>0 || s.indexOf("yahoo")>0 )
.....
上面判断英文字串没问题如何判断汉字呢?
谢谢。
如:var s=document.referrer
if ((s.indexOf("google")>0 || s.indexOf("baidu")>0 ||s.indexOf("sogou")>0 ||s.indexOf("soso")>0 || s.indexOf("yahoo")>0 )
.....
上面判断英文字串没问题如何判断汉字呢?
谢谢。
s.indexOf('\u5317\u4eac') > 0
编码是这们的:
http://www.baidu.com/s?wd=%E7%94%B5%E8%A7%86&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&inputT=1893
var reg=/\w+=(%\w{2})+/;
alert(reg.test(a));
这样试试 如果不能被ascii码表示的话貌似会用%后加两个16进制的数表示 判断有没有这样的东西看看行不行
url = "http://www.baidu.com/s?wd=%E7%94%B5%E8%A7%86&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&inputT=1893"
a = decodeURIComponent(url)
var reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/;
alert(reg.test(a))
如果要支持url地址中的汉字,远比想象中的要复杂。首先要确定发出这个url的页面的编码,
utf-8,gb2312,big5不同编码下,同一个汉字会呈现出不同的数字,
这些数字再转换为16进制,就会出现url中%后面的内容。这远不是 decodeURIComponent 能解决的。解决办法也不是没有,非常复杂。
总的来说,要转换编码到 unicode.