五、实现过程
1、使用try-catch异常处理创建XMLHTTPRequest对象
2、对返回的中文编码处理
//对返回的中文编码处理
function Rec_Html(Html)
{
var Rec=new ActiveXObject("ADODB.RecordSet");
Rec.Fields.Append("DDD",201,1);
Rec.Open();
Rec.AddNew();
Rec(0).AppendChunk(Html);
Rec.Update();
return Rec(0).Value;
Rec.Close();
}
//对返回的中文编码处理结束
3、检查判定依据中是否需要中文编码处理
if(err.value.replace(/[^\W]/g,'').length=0)
//用正则替换掉任何非单词和数字字符后,假如值大于0,说明判定依据中可能含有中文或其它字符,就进行编码转换。
{
Html=xmlhttp.responseText;//不转换
}
else
{
Html=Rec_Html(xmlhttp.responseBody);//转换
}
4、进行探测,对结果进行判定并输出
//开始探测 参数为要探测的当前值
function geturl(id)
{
try{
xmlhttp.open("GET",url.value id,false);//定义数据传送方式,服务网页的URL(探测地址 探测值),是否同步执行
xmlhttp.onreadystatechange = function() {//xmlhttp 触发事件
if(xmlhttp.readyState==4)//xmlhttp对象状态假如为完成
{
if(xmlhttp.status==200) //假如服务器返回的状态码为200(成功)
{
//对结果的中文编码转换判定
if(err.value.replace(/[^\W]/g,'').length=0)
/*关于转换判定的注:
例如:"翟振凯".replace(/[^\W]/g,'').length 返回结果 3
"翟振凯22336848".replace(/[^\W]/g,'').length 返回结果 3
"xiaoqi22336848".replace(/[^\W]/g,'').length 返回结果 0
"小琦22336848".replace(/[^\W]/g,'').length 返回结果 2
replace(/[^\W]/g,'')的功能是把字符串里的英文和数字都清除掉。
*/
{
Html=xmlhttp.responseText;//不转换
}
else
{
Html=Rec_Html(xmlhttp.responseBody);//转换
}
//对结果的中文编码转换判定结束
// 根据判定依据区分可用或不可用的值!
if(Html.indexOf(err.value,0)<0)
{
x_1.innerHTML=x_1.innerHTML "<nobr> " id;//输出可用值
}
else
{
x_2.innerHTML=x_2.innerHTML "<nobr> " id;//输出不可用值
}
// 根据判定依据区分可用或不可用的值!
评论加载中…
![]() |