请问如何用JS判断输入必须为中文?
请问如何用JS判断输入必须为中文?
即不出现英文字母和数字?
搞了一天也没搞出来。。。请高手帮忙给段代码。。。
------解决方案--------------------<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr">
<head profile="http://www.w3.org/2000/08/w3c-synd/#">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>中文js测试</title>
<script> function isChn(str){
var reg = /^[\u4E00-\u9FA5]+$/;
if(!reg.test(str)){
alert("不是中文");
return false;
}
alert("中文");
return true;
}
</script>
</head>
<body onload=isChn("脚本")>
</body>
</html>
用正则判断。
------解决方案--------------------function f_check_ZhOrNumOrLett(str){ //判断是否是汉字组成
var regu = "^[\u4e00-\u9fa5]+$";
var re = new RegExp(regu);
if (re.test( str)) {
return true;
}
alert("请输入汉字、字母或数字");
return false;
}
------解决方案--------------------顶1楼,学习一下正则判断!!
------解决方案--------------------这个好像写不出来,以前研究过,不过没有结果
------解决方案--------------------HTML code
<html>
<head>
<script language="javascript">
function check(text){
while(/[a-zA-Z0-9]/.test(text.value)){
text.value = text.value.substring(0,text.value.length - 1);
}
}
</script>
</head>
<body>
<input type="text" onkeyup="check(this)">
</body>
</html>
------解决方案--------------------
使用正则表式
加入JS中修改相应的ID、NAME就OK了
var pattern=/^[\u4e00-\u9fa5]+$/;
if (!pattern.test(document.form1.控件名.value))
{
alert( "用户名必须为汉字。 ");
document.form1.控件名.focus();
return false;
}
------解决方案--------------------
HTML code
<input type="text" name="uname" id="uname" value="" onkeyup="value=value.replace(/[A-Za-z\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[A-Za-z\d]/g,''))" />