有这么个页面,会实时检验输入字符,在英文输入法状态下工作正常,但是开启搜狗输入法的时候,就不行了,不知道如何解决。<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function checkCharValid(appendCharCode){
var rg = /^[^\x00-\x1F\x21-\x2C\x3A-\x40\x5B-\x60\x7B-\x7Foi]{0,6}$/i;
var eu = $("#sNote");
var nw = $("#notifyWords");
nw.hide();
var s = eu.val();
if(appendCharCode) s += String.fromCharCode(appendCharCode);
var b = rg.test(s);
if(!b){
nw.show("slow");
}
return b;
}
</script><div>
<textarea id="sNote" name="sNote" class="box" cols="30" rows="2"
onkeypress="event.returnValue=checkCharValid(event.keyCode)"
onchange="alert(checkCharValid())"></textarea>
<span id="notifyWords" style="display:none;align:right;width:500px;overflow:float;color:red;">
注意:<br>
允许最多6个字母、数字、汉字(及其它多字节文字符号)<br/>
禁止使用控制字符<br/>
禁止大小写的英文 O o I i <br/>
禁止 ' " ! # $ % & * + , : ; < = > \ ? @ [ \ ] ^ _ ` { | } ~ 等半角字符
</span>
</div>
<script type="text/javascript">
function checkCharValid(appendCharCode){
var rg = /^[^\x00-\x1F\x21-\x2C\x3A-\x40\x5B-\x60\x7B-\x7Foi]{0,6}$/i;
var eu = $("#sNote");
var nw = $("#notifyWords");
nw.hide();
var s = eu.val();
if(appendCharCode) s += String.fromCharCode(appendCharCode);
var b = rg.test(s);
if(!b){
nw.show("slow");
}
return b;
}
</script><div>
<textarea id="sNote" name="sNote" class="box" cols="30" rows="2"
onkeypress="event.returnValue=checkCharValid(event.keyCode)"
onchange="alert(checkCharValid())"></textarea>
<span id="notifyWords" style="display:none;align:right;width:500px;overflow:float;color:red;">
注意:<br>
允许最多6个字母、数字、汉字(及其它多字节文字符号)<br/>
禁止使用控制字符<br/>
禁止大小写的英文 O o I i <br/>
禁止 ' " ! # $ % & * + , : ; < = > \ ? @ [ \ ] ^ _ ` { | } ~ 等半角字符
</span>
</div>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货