Javascript实例教程(18-2)

charAt()函数

这个函数返回在字符串中字符处在给定的位置。从本质上讲,它是substring()方法的一个特例,但是它也有自己的用途。如果你原来是个C语言程序员或者其它相近的语言的程序员,那么你就能理解当引用字符的时候,可以利用string.charAt(index)来代替string[index]。

下面我们来在一个表单输入中使用这个函数。表单中有email地址,当然这个email地址要限制为字符、数字以及一个"@"符号。我们可以一次性讲字符串分列为单个字符来对它进行强制。详细代码如下:

 1<script language="JavaScript"> <!-- Hide from older browsers   
 2  
 3var parsed = true;   
 4  
 5var validchars = "[email protected]";   
 6  
 7var email = prompt("What is your email address?", "[email protected]");   
 8  
 9for (var i=0; i < email.length; i++) {   
10  
11var letter = email.charAt(i).toLowerCase();   
12  
13if (validchars.indexOf(letter) != -1)   
14  
15continue;   
16  
17alert("Invalid character: " + letter);   
18  
19parsed = false;   
20  
21break;   
22  
23}   
24  
25if (parsed) alert("Your email address contains all valid characters.");   
26  
27// Stop hiding -->   
28  
29</script>

(图1)

如图1所示。你可以按下”check Email”按钮,此时就会弹出一个对话框,如图2所示。

(图2)

你可以在上面随便填入一个email地址,然后点击”确定”键。接着还会弹出一个检查Email地址的结果。加入你输入email地址:[email protected]之后,你就会看到如图3所示的结果。如果你输入:ok#pconline.com.cn就会出现如图4所示的结果,因为#是一个无效的字符。

(图3)

(图4)

以下将详细解释上面这段代码:

以上的例子使用了一些字符串的函数、循环语句以及Boolean(布尔)运算。所有的这些在前面的教程中都有提及,当然除了toLowerCase()函数,这个函数下面再介绍。

以上的代码实际上很简单,只不过是想测试一下email地址中的每一个字符是不是一个有效的字符而已 。但是实现过程看起来有点笨拙,不象C语言或者Perl语言那样简单。从本质上讲,我们是使用charAt()来循环浏览email地址的字符串以提取出无效的字符。

如果字符是有效的,那就继续循环;如果字符是无效的,就会弹出一个警告窗口说明那个字符是无效的,此时在设置parsed=false之后使用break语句来结束for循环。

当循环存在,我们可以检查标志parsed看是否email是有效的。如果parsed为true,那么消息将被显示。

点击 此处 去测试页面

Published At
Categories with 网页设计
comments powered by Disqus