v 您现在的位置:八十年代交流网 ->>教 程 区》版   文字大小:[][][默认]

v 第1/2页
跳至
[刷新][下一页][尾页]

主题: [顶楼] javascript教程-第四章-第三讲-验证emai..
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-4 18:35:20

昨天一天没干活,不好意思,我们今天讲一个例子:判断email。
先来复习一下前面一讲的内容,其实我觉得最重要的就是this的用法咯,我们认识的this有什么用呢?在对象本身中引用自己!那好,其他的自己再看看吧!
切入正体:
我们最常用的表单就是email表单,但有时候我们得到的要不是空,要不就是不规则的邮件地址,这真是让人很烦恼哦,所以,我们就检查一下它,他要是不老实的写就不让他提交,不过有时候这样得到的效果会让浏览者很反感哦,没办法:
<html>
<head>
<title>We Want To Know What You Think!</title>
<script>
//check entire form
function isReady(form) {
if (isEmail(form.address) == false) {
alert("Please enter a valid email address.");
form.address.focus();
return false;
}
if (isFilled(form.fullname) == false) {
alert("Please enter your name.");
form.fullname.focus();
return false;
}
if (isFilled(form.opinion) == false) {
alert("Please enter your opinion.");
form.opinion.focus();
return false;
}
return true;
}
//check email
function isEmail(elm) {
if (elm.value.indexOf("@") != "-1" && elm.value.indexOf(".") != "-1") {
return true;
}
else {
return false;
}
}
//check for blank fields
function isFilled(elm) {
if (elm.value == "" || elm.value == null) {
return false;
}
else {
return true;
}
}

</script>
</head>

<body>
<form name="mailForm" action="upword.asp" method="post" onSubmit="return isReady(

this)">
<p>Your name:<input name="fullname" type="text">
Your email:<input name="address" type="text"></p>
<p>Your opinion:</p>
<p><textarea name="opinion" rows="6" cols="50" wrap="wrap"></textarea></p>
<p><input type="submit" value="Send"><input type="reset" value="Trash"></p>
</form>
</body>
</html>

现在我们从上到下依次来了解函数:
1:function isReady(form)
第一个if语句运行名为isEmail()的函数,传递给它一个form.address参数。
第二个if语句运行名为isFilled()的函数,传递的是form.fullname。
第三个运行isFilled()函数,参数是:form.opinion
<!--布尔值:
在程序设计中,true和false叫做布尔值。在if语句中决定某个量的true或false时,可以缩短它的表达式如:if (isEmail(form.address)== false)实际上可以写成if (!isEmail(form.

address))。那么if (isEmail(form.address) == true)就可以写成if (isEmail(form.address))
-->
2:function isEmail(elm)
第一个你会看到elm函数,这个参数真不容易,被踢过来踢过去啊。表单把它踢给了isReady()函数,然后isReady()又用if语句中的isEmail(form.address)调用一脚把它踢到这个函数里来!!所以我们就知道了,这个参数就是表单mailForm的address元素。我们用elm来代替它而已。
第二个就是indexOf()了,这是一个JavaScript字符串方法。。
var question ="will you find me?";
var location= question.indexOf("me");
location的值是什么?14。也就是说,indexOf()方法返回目标字符串(从第一个字符算起)在源字符串中的起始位置。它从0开始算起(在很多的编程语言中都是如此)。
但是如果字符串中没有呢?indexOf()返回的是-1。所以这个函数就很清楚咯!

3:function isFilled()
这个函数只是检查元素中是否有内容,当一个表单元素传递给它后,该元素被赋予一个简短的名字elm。然后,他将查看该元素,判断它是否为空。

整个函数都明白了,其他的工作原理以前讲过,大家也都是聪明人。自己写写脚本运行一下!
下一讲就简单讲两个例子再,这一章就结束了。好好学习天天向上!

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [2楼] Re:javascript教程-第四章-第三讲-验证e..
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-4 19:10:39

函数在我机子上调试没有通过!

在修改中!

西帅来帮忙看看啊!~反之其中少打了一个符号,不是那个的事。。

我觉得应该是在用this时出的错!~晕死!!~

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [3楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-4 19:36:52,最后修改于2003-12-4 19:39:24

我先给一个可以使用的例子,这个等下看看是怎么回事。

====================================================
function aa(){
var ff=document.表单名;
 if(ff.email.value.length<=0){
  alert("请输入您的邮箱地址!");
  ff.email.focus();
  return false;
 }

 if(ff.email.value.length>0&&!Judge(ff.email.value)){
  alert("请正确输入您的邮箱地址!");
  ff.email.focus();
  return false;
 }
 return true;
}

function Judge(mjj){
 var array,strTmp,re1,re2;
 re1=/@/i;
 if (mjj.search(re1)==-1)
  return false;
  array=mjj.match(re1);
  if (array.length==1){
   re2=/\./i;
   if (mjj.search(re1)<mjj.search(re2))
     return true;
 }
return false;
}

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [4楼] [回复西帅]Re:西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-4 21:43:13

我找到错误了,就是上面的那个用红色标出来的“)”没写!

用netscape的javascript控制台里找出的。。不错哦!~

晕死,还提醒人家不要写错字了呢,现在自己来这一套了!80spp/019.gif

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [5楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-4 21:44:04

呵,有进步,鼓励~80spp/018.gif

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [6楼] [回复西帅]Re:西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-4 21:45:54

哈,拿刀干什么?想吃我啊!

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


主题: [7楼] [回复蓝の羽]西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:西帅(fynewsun)发表于2003-12-4 21:47:13

你先回去买支香皂“咯吱咯吱”洗干净了再吃也不迟~80spp/019.gif

[留言] [回复]
------------------------------
一些事是永远都无法明白的
一些人是永远都无法忘记的

/bbs/photo/20031224195539.gif


主题: [8楼] [回复西帅]Re:西帅回复:
邮寄到我的邮箱
打印本页
收藏本贴

作者:蓝の羽(litao2001cn)发表于2003-12-4 21:49:11

鄙视你啊!明天有个招聘会,都是开发软件的!还有就是组网的,

后悔今年来到就把网络丢下没学了!!!烦恼!看来还是得考考网络三级有点用。。

[留言] [回复]
------------------------------
我是那--
在你许愿时
划过天际的那颗流星
燃烧我的生命,给你一刻的灿烂
带着你的祝福
到天堂
把我赤裸的灵魂
交给天使,换你一生的快乐


v 第1/2页
跳至
[刷新][下一页][尾页]

v 您现在的位置:八十年代交流网 ->>教 程 区》版
[返回]

公司简介 - 相关条款 - 站点地图 - 合作信息 - 网站建设 - 广告业务
Copyright  ©  2002-2004  八十年代·版权所有