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

JavaScript017

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

需要准备的材料分别有:电脑、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判断的结果。

给输入加一个失去焦点事件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()          

}       

  }

")return false}return true}第二种方法(包含中文则返回"true",不包含中文则返回"false"):

<script language="javascript">function isChina(s){var patrn=/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/giif(!patrn.exec(s)){return false}else{return true}}</script>第三种方法

<script language="javascript">var str='中国'if(escape(str).indexOf("%u")<0){alert("没有包含中文")}else{alert("包含中文")}</script>escape对字符串进行编码时,字符值大于255的以"%u****"格式存储,而字符值大于255的恰好是非英文字符(一般是中文字符,非中文字符也可以当作中文字符考虑);indexOf用以判断在字符串中是否存在某子字符串,找不到返回"-1"。