function cc() {
var str = document.getElementById('checkcode').value
var result=''
if (str.length<=0) {return false}
for(var i=0i<str.lengthi++)
{
if(str.charCodeAt(i)>125)
{
result += String.fromCharCode(str.charCodeAt(i)-65248)
} else{
result = str
}
}
document.getElementById('checkcode').value = result
}
</script>
<input class="yanzheng" id="checkcode" type="text" onblur="cc()"/>
字母和数字都可以转过来,文本框失去焦点时转换
有个缺点,输入汉字后就会转换成乱码
var str = "中文‘全角’单引号"str = str.replace("‘", "'").replace("’", "'")
//输出 中文'全角'单引号
alert(str)
怎么老是想着如何去获取键盘码之类的呢!哎,你转变下思维嘛!
既然你是即时录入,即时判断的话,那非常简单哪!
我假设你的录入文本框是<input id=txt type=text >
//当文本框的内容改变时,自动调用该函数,这时可以即时对文本内容进行
//判断扫描,是否在输入框内有全角字符出现,如果有,则返回真,如果没有返回假,这样就可以判断是否有全角输入啦!
以下正则是把范围规定在:a-z A-Z 0-9_
<script>
function toDBC( sValue )
{
var rValue =""
for(var i=0i<sValue.lengthi++ )
{
chCode = sValue.charCodeAt(i)
if( chCode >= 65248 &&chCode <= 65375 )
{
rValue += String.fromCharCode( chCode - 65248 )
}
else if( chCode == 12288 )
{
rValue += String.fromCharCode( 32 )
}
else
{
rValue += String.fromCharCode( chCode )
}
}
return rValue
}
document.getElementById("txt").onkeyup=function()
{
var sValue =this.value
sValue=sValue.replace(/[\u4e00-\u9fa5]+/g ,"")
if( /[^\w]/.test( sValue ) )
{
sValue = toDBC( sValue )
}
this.value=sValue
}
</script>