JavaScript charCodeAt()与fromCharCode()方法详解 (可用于筛选字符串中的数字,字母,中文)

JavaScript charCodeAt()与fromCharCode()方法详解

一、charCodeAt() 方法(属于String对象)

定义和用法

charCodeAt(index) 方法可返回指定位置的字符的 Unicode 编码。

字符串中第一个字符的位置为 0, 第二个字符位置为 1,以此类推。

var str = "Hello World";
document.write(str.charCodeAt(0)); //72

基于此方法,我们可以编写函数筛选出某个字符串中的数字、字母和中文汉字,并分别用数组接收它们,如下:

/*获取数字部分:Unicode编码值范围在[48~57]之间即为数字
 *获取英文字母部分:Unicode编码值范围在[65~90],以及[97~122]之间即为英文字母
 *获取中文部分(大于122)
*/
//charCodeAt()方法
            function get(str) {
                var saveNum = new Array(); //接收数字
                var saveLowerLetter = new Array(); //接收大写英文字母
                var saveUpperLetter = new Array(); //接收小写英文字母
                var saveChina = new Array(); //接收中文
                for(var i=0; i<str.length; i++) {
                    if((str[i].charCodeAt()) >= 48 && (str[i].charCodeAt()) <= 57) {
                        saveNum.push(str[i]);
                    }else if((str[i].charCodeAt()) >= 65 && (str[i].charCodeAt()) <= 90) {
                        saveUpperLetter.push(str[i]);
                    }else if((str[i].charCodeAt()) >= 97 && (str[i].charCodeAt()) <= 122) {
                        saveLowerLetter.push(str[i]);
                    }else if ((str[i].charCodeAt()) > 122) {
                        saveChina.push(str[i]);
                    }
                }
                document.write(saveNum + "<br>"); //1,2,3,4,1,8,7,2
                document.write(saveLowerLetter + "<br>");//l,a,l,a,l,l,a
                document.write(saveUpperLetter + "<br>");//H,A,H,A,H,A
                document.write(saveChina + "<br>"); //我,是,喵,喵,喵,嘿,嘿
            }
            get("我是1234喵喵喵lalalla嘿嘿HAHAHA1872");

二、fromCharCode()方法(属于String对象)

定义和用法

fromCharCode() 可接受一个或多个指定的 Unicode 值,然后返回一个字符串。

注意:该方法是 String 的静态方法,字符串中的每个字符都由单独的 Unicode 数字编码指定。使用语法: String.fromCharCode()。
method 所有主要浏览器都支持 fromCharCode() 方法

语法

String.fromCharCode(code1, code2, code3, ..., codeN)

code1, code2, code3, …, codeN:必需。一个或多个 Unicode 值,即要创建的字符串中的字符的 Unicode 编码。

document.writeln(String.fromCharCode(65, 66, 67, 68, 69, 70)); //ABCDEF
document.write("<br>");
document.writeln(String.fromCharCode(101, 104, 97, 98, 122, 100)); //ehabzd
document.write("<br>");
document.writeln(String.fromCharCode(20013, 22269)); //中国
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值