js 如何验证字符串里是否包含汉字

JavaScript017

js 如何验证字符串里是否包含汉字,第1张

1、用正则表达式判断

<input type="text" id="name" placeholder="请输入用户名" value="" onblur="CheckChinese('name',this.value)" class="form-control">

function CheckIsChinese(obj,val){

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

if(reg.test(val)){alert("包含汉字!")}

}

2、用 Unicode 字符范围判断

function chkstrlen(str){

var strlen = 0

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

if(str.charCodeAt(i) >255) //如果是汉字,则字符串长度加2

strlen += 2

else

strlen++

}

return strlen

}

下面的这个函数就是判断输入的值是否含有汉字或字符:function

checkFormat(str){if

(escape(str).indexOf("%u")!=-1)

alert("不能含有汉字")

else

if(str.match(/\D/)!=null){alert('不能含有字母')

}

}其中,str是你在文本框中输入的值,传到此函数中,来进行判断。具体用法就是:

this.value即为你输入的值。当输完以后在别的地方点一下左键即可触发本函数来判断你是否输入了汉字或字符。另外,还可以在此函数上改进一下,再加一个参数用来显示哪个属性不能为空:function

checkFormat(str,name){if

(escape(str).indexOf("%u")!=-1)

if(name=='phone')

{

alert("电话不能含有汉字")

}

else

if(str.match(/\D/)!=null)

{

if(name=='phone')

{

alert('电话不能含有字母')

}