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

JavaScript09

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('该字符串是数字')}

varmyReg = /^[a-zA-Z0-9_]{0,}$/ if(!myReg.test(input.val())) {   $.validation.tip(false, input, "用户名不能含有中文或特殊字符")   return } js通过正则表达式限制input输入框只能输入英文字母和数字,不能输入中文。 <input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"> 文本框中仅允许输入英文字母,小数点,数字,禁止输入中文字符以及其他特殊字符! <input type="text" name="username" onkeyup="value=value.replace(/[^\w\.\/]/ig,'')" /> 输入大于0的正整数 <input onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"> PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式在线测试工具: http://tools.jb51.net/regex/javascript 正则表达式在线生成工具: http://tools.jb51.net/regex/create_reg var temp = 'abcdefg Fw:123456 Fw:789.1011' temp =temp.indexOf(‘.’)//匹配某个字符位置 alert(temp)��var temp = 'dsd-5555' temp =temp.replace('-','')//匹配某个字符必替换 alert(temp)

")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"。