js如何判断字符是中文,英文,数字还是字符
需要准备的材料分别有:电脑、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 = 0; i < a.length; i++) {
if (a[i].reg.test(t)) {
return a[i].name;
}
}
return '字符';
}
3、浏览器运行index.html页面,此时会打印出js判断的结果。
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('该字符串是数字');
}
//判断中文
funtion isChinese(param){
var regExp = /[^/u4e00-/u9fa5]/;
if(regExp.test(param))
return false;
return true;
//判断字母(英文)
function isEng(param){
var regExp = /[^A-Za-z]/;
if(regExp.test(param))
return false;
return true;
}
//判断数字或字符
function isNum(param){
var regExp = /[^0-9]/;
if(regExp.test(param))
return false;
return true;
}
JS中的变量是松散类型(即弱类型)的,可以用来保存任何类型的数据。
typeof 可以用来检测给定变量的数据类型,可能的返回值:1. 'undefined' --- 这个值未定义;
2. 'boolean' --- 这个值是布尔值;
3. 'string' --- 这个值是字符串;
4. 'number' --- 这个值是数值;
5. 'object' --- 这个值是对象或null;
6. 'function' --- 这个值是函数。
var aa = 'test string';
alert(typeof aa); // 'string'
alert(typeof 90); // 'number'
但是要判断是中文,英文,数字还是字符,那你就只能用正则了。