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)); //中国

猜你喜欢

转载自blog.csdn.net/qq_36595013/article/details/82181661