目前我有2中方法。如下面介绍
var strTmp = document.getElementById(obj).value;
for(var loopi = 0;loopi < strTmp.length; loopi++)
{
if(strTmp.charCodeAt(loopi) > 256)
{
return false;
}
else
{
return true;
}
}
------------------------------------------------------------------》
var p = /[^\u0000-\u00FF]/;
var s = document.getElementById(obj).value;
if (p.test(s))
{ return false;
} else
{
return true;
}以上2中方法在MAC系统下的safari2.0浏览器军不好用。请教其他的判断输入半角的方法。在线等--紧急~~
var strTmp = document.getElementById(obj).value;
for(var loopi = 0;loopi < strTmp.length; loopi++)
{
if(strTmp.charCodeAt(loopi) > 256)
{
return false;
}
else
{
return true;
}
}
------------------------------------------------------------------》
var p = /[^\u0000-\u00FF]/;
var s = document.getElementById(obj).value;
if (p.test(s))
{ return false;
} else
{
return true;
}以上2中方法在MAC系统下的safari2.0浏览器军不好用。请教其他的判断输入半角的方法。在线等--紧急~~
for(var loopi = 0;loopi < strTmp.length; loopi++)
{
if(strTmp.charCodeAt(loopi) > 256)
{
return false;
}
}
return true;
------------------------------------------------------------------》
var p = /^[^\u0000-\u00FF]*$/;
var s = document.getElementById(obj).value;
return !p.test(s);
IE6---IE8。safari3.0都好用
等下。我实验一下加$这个,把代码放在MAC机器在实验下~~
alert(strTmp);//这个值可以打出来吗?
估计是MAC系统的事。。因为我用的是safari2.0这个浏览器本身就很多bug。我先实验。现在清空浏览器缓存。。还清空不了。还一直访问久的代码。气死我了。
p.test(s)这个值总是true。。真奇怪请问大家还有其他验证半角的方法咩?
这句不是根据ASCII码判断的吗,找出这些字符,然后可以放在一个变量中
比如
var halfW = "..abcd...";//这里收录了ASCII小于等于256的所有字符
if(halfW.indexOf(strTmp.charAt(loopi))>=0){
//半角
}else{
//全角
}
var strTmp = document.getElementById(obj).value;
for(var loopi = 0;loopi < strTmp.length; loopi++)
{
if(strTmp.charCodeAt(loopi) > 256)
{
return false;
}
else
{
return true;
} 这个方法也不好用啊~~~在苹果系统下的safari2.0不好用。
var strTmp = document.getElementById(obj).value;
var halfW = "abcdefghijklmnopqrstuvwxyz";//a-z对应的ASCII是97-122,其他的LZ自己加上,一共256种字符,在此范围内都是半角,除此以外都是全角
for(var loopi = 0;loopi < strTmp.length; loopi++)
{
if(halfW.indexOf(strTmp.charAt(loopi)) < 0)//全角
{
return false;
}
else
{
return true;
}ASCII码字符表:http://www.weste.net/tools/ASCII.asp
原来var strTmp = document.getElementById(obj).value;
for(var loopi = 0;loopi < strTmp.length; loopi++)
{
if(strTmp.charCodeAt(loopi) > 256)
{
return false;
}
else
{
return true;
}
这个方案是好用的。只是输入框为空时,没有判断当字符串的length为0时,需要return true。十分感谢大家。