js中如何判断用户输入的是否是中文?请详细描述。

JavaScript05

js中如何判断用户输入的是否是中文?请详细描述。,第1张

function ischinese(s){

                var ret=true

                for(var i=0i<s.lengthi++)           //遍历每一个文本字符

                    ret=ret && (s.charCodeAt(i)>=10000)//判断文本字符的unicode值

                return ret

            } 

            function chk()

            {

                var str = document.getElementById("txt1").value

                var val= ischinese(str)               //判断是否包含中文

                if(!val)

                    alert("您输入的字符不是全中文")

                else

                    alert("您输入的字符是全中文")

            }

给输入加一个失去焦点事件onblur,再用正则表达式判断输入框的内容有没有除了数字的内容。需要注意的地方是数字中可能有小说点。可以用正则表达式。如:

function CheckChinese(obj,val){     

var reg = new RegExp("[\\u4E00-\\u9FFF]+","g")

if(reg.test(val)){     

       alert("不能输入汉字!")  

       var strObj = document.getElementById(obj)  

       strObj.value = ""  

       strObj.focus()          

}       

  }

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:

document.body.innerText = test('测')

function test(t) {

var a = [

{'reg':/[^/u4e00-/u9fa5]/, 'name':'中文'},

{'reg':/[^0-9]/, 'name':'数字'},

{'reg':/[^A-Za-z]/, 'name':'英文'},

]

for (var i = 0i <a.lengthi++) {

if (a[i].reg.test(t)) {

return a[i].name

}

}

return '字符'

}

3、浏览器运行index.html页面,此时会打印出js判断的结果。