charAt() 方法和charCodeAt () 方法用于选取字符串中某一位置上的单个字符。对于检查用户输入的有效性 ,这两个方法也是非常有用的。
charAt() 方法具有一个参数 :即所选取字符在字符串中的位置。charAt()方法的返回值就是该位置上的字符。字符串中字符的索引位置 从0 开始,因此,第一个字符的索引是0,第二个字符的索引 是1,依此类推。
例如,要选取一个字符串中最后一个字符,可以使用如下代码:
var myString = prompt ("Enter some text","Hello World!");
var theLastChar = myString.charAt (myString.length - 1);
document.write("The last character is " theLastChar);
上面的第一行代码使用prompt() 函数 显示一个提示框 ,请求用户输入一个字符串 ,如果用户未输入,则默认值 为"Hello World ! ",变量myString 用于保存 prompt()函数返回的字符串 。
在上面的第二行代码中,使用charAt() 方 法获取字符串中的最后一个字符 。我们传入charAt()方法的参数是最后一个字符的索引位置 :(myString.length–1 )。以字符串"Hello World! "为例,这个字符串的长度为12 ,则最后一个字符 的索引为11 。这是因为字符串的索引从0开始 计算,把字符串的长度减去1就得到最后一个字符的索引。
在上面的第三行代码中,将最后一个字符输出在页面上。
charCodeAt ()方法与 charAt() 方法类似,但它并不返回指定位置上的字符本身 ,而是返回该字符在Unicode字符集中的编码值 。计算机只能理解数字,对于计算机来说, 所有字符串都是某种编码的数字。当需要使用的是数字编码所代表的字符,而不是使用数字本身时,计算机将根据编码与字符集的内部对应关系,把每一个编码转换 为字符集中相应的字符。
例 如,要选取一个字符串中 第一个字符的Unicode编码 ,可以使用如下代码:
var myString = prompt ("Enter some text","Hello World!");
var theFirstCharCode = myString.charCodeAt (0);
document.write("The first character code is " theFirstCharCode);
上面的代码将获取用户输入字符串的第一个字符的 Unicode编码 ,并把编码输出在页面上 。
字符是按顺序进行编码的,例如,字符A的编码是 65 ,字符B的编码是66 ,依此类推。小写字母从97开始编码,即字母a的编码是97 ,字母b的编码是98,依此类推。数字字符则是从48开始编码,字符 0的编码是48,而字符9的编码是57。我们可以使用字符的编码来实现一些功能,例如下面的例子。