js如何判断字符是中文,英文,数字还是字符

JavaScript012

js如何判断字符是中文,英文,数字还是字符,第1张

1、使用正则表达式判断中文正则:[\u4E00-\u9FA5]英文正则:[A-Za-z]数字正则:[0-9]//验证是否是中文var pattern = new RegExp("[\u4E00-\u9FA5]+")var str = "中文字符"if(pattern.test(str)){alert('该字符串是中文')}//验证是否是英文var pattern2 = new RegExp("[A-Za-z]+")var str2 = "abcdefsgaaweg"if(pattern2.test(str2)){alert('该字符串是英文')}//验证是否是数字var pattern3 = new RegExp("[0-9]+")var str3 = "234234"if(pattern3.test(str3)){alert('该字符串是数字')}

alert("不能含有汉字")<br>else if(str.match(/\d/)!=null){<br>alert('不能含有字母')}}其中,str是你在文本框中输入的值,传到此函数中,来进行判断。具体用法就是:<br><input name="aa" type="text"<br>onblur="checkformat(this.value)"<br>this.value即为你输入的值。当输完以后在别的地方点一下左键即可触发本函数来判断你是否输入了汉字或字符。另外,还可以在此函数上改进一下,再加一个参数用来显示哪个属性不能为空:<br>function checkformat(str,name){<br>if (escape(str).indexof("%u")!=-1)<br>if(name=='phone'){<br>alert("电话不能含有汉字")}<br>else if(str.match(/\d/)!=null){<br>if(name=='phone'){<br>alert('电话不能含有字母')}}}如:<input name="aa" type="text"<br>就是说你输入的是电话的文本框,然后判断电话是不是有汉字或字符。

用正则表达式:

js:

function isDigit(s) {

var patrn=/^\d*$/

if (patrn.test(s)) {

return true

} else {

return false

}

return false

}

页面:

<input type="text" id="Id" />

<input type="button" value="button" onclick="isDigit(document.getElementById('nameId').value)"/>

如果是纯数字返回 true 否则返回false