几个很有用的javascript函数的具体实现(主要是对表单的验证)

函数Reset()按Reset按钮后对各字段的内容复位。

函数submitForms()按submit按钮后对字段合法性检查后发送电子邮件。
函数isName()对姓名字段进行合法性检查。
函数isEmail()对电子邮件地址字段进行合法性检查。

函数isBrowser()对浏览器字段与自动检测的浏览器版本进行比较。
函数isCountry()对国家字段进行合法性检查。
函数isComment()对意见字段进行合法性检查,不允许为空值。
函数isFavorite()对喜欢的站点字段进行合法性检查,不允许为空值。



  程序中还提供了一些技巧,例如,如何判断浏览器的版本,字符串的操作等等。



  结果是以电子邮件的形式提供给你的,里面有客人输入的各个字段。程序比较长,但不难看懂,下面是源代码:





<HTML>

<HEAD>

<TITLE>用JavaScript编制留言簿程序</TITLE>

<SCRIPT LANGUAGE="JavaScript">

<!--Begin

//Someone@abc.com是你自己的电子邮件地址

var emailAddress="Someone@abc.com";

function toName()

{

var toNameval=document.forms[0].elements[1].value;

toNameval="mailto:Someone@abc.com?subject=GuestBookexample";

this.document.mail.action=toNameval;

}

function Reset(){

document.forms[0].elements[0].value="";

document.forms[0].elements[1].value="";

document.forms[0].elements[2].value=

navigator.appName+""+navigator.appVersion;

document.forms[0].elements[3].value="";

document.forms[0].elements[4].value="";

document.forms[0].elements[5].value="";

document.forms[0].elements[0].focus();

}

function submitForms(){

if((isName())&&(isEmail())&&(isBrowser())

&&(isCountry())&&(isComment())&&(isFavorite()))

if(confirm("/nYou'reabouttoe-mailtheform./n/nClick

onYEStosubmit./n/nClickonNOtoabort."))

{

alert("/nYoursubmissionwillnowbemadeto:

/n/n"+emailAddress+"/n/n/nThankyou!");

returntrue;

}

else

{

alert("/nYouhavechosentoabortthesubmission.");

return false;

}

else

returnfalse;

}

function isName(){

var str=document.forms[0].elements[0].value;

if(str==""){

alert("/nTheNAMEfieldisblank./n/nPleaseenteryourname.")

document.forms[0].elements[0].focus();

return false;

}

for(var i=0;i<str.length;i++)

{

var ch=str.substring(i,i+1);

if(((ch<"a"||"z"<ch)&&(ch<"A"||"Z"<ch))&&ch!='')

{

alert("/nTheNAMEfieldonlyacceptsletters

&spaces./n/nPleasere-enteryourname.");

document.forms[0].elements[0].select();

document.forms[0].elements[0].focus();

returnfalse;

}

}

returntrue;

}

functionisEmail()

{

emailAddress=document.forms[0].elements[1].value;

if(document.forms[0].elements[1].value==""){

alert("/nTheE-MAILfieldisblank.

/n/nPleaseenteryoure-mailaddress.")

document.forms[0].elements[1].focus();

returnfalse;

}

if(document.forms[0].elements[1].value.indexOf('@',0)==-1||

document.forms[0].elements[1].value.indexOf('.',0)==-1)

{

alert("/nTheE-MAILfieldrequiresa/"@/"

anda/"./"beused./n/nPleasere-enteryoure-mailaddress.")

document.forms[0].elements[1].select();

document.forms[0].elements[1].focus();

returnfalse;

}

else

{

toName();

return true;

}

}

function isBrowser()

{

if(document.forms[0].elements[2].value!

=navigator.appName+""+navigator.appVersion)

{

if(confirm("/nYou'vechangedyourbrowser

type./n/nClickonOKtokeepchanges./

n/nClickonCanceltorestoredetectedbrowser."))

return true

else

{

document.forms[0].elements[2].value=

navigator.appName+""+navigator.appVersion;

returntrue;

}

}

else

returntrue;

}

functionisCountry(){

varstr=document.forms[0].elements[3].value;

if(str==""){

alert("/nTheCOUNTRYfieldis

blank./n/nPleaseenteryourcountry.")

document.forms[0].elements[3].focus();

returnfalse;

}

for(vari=0;i<str.length;i++){

varch=str.substring(i,i+1);

if(((ch<"a"||"z"<ch)&&

(ch<"A"||"Z"<ch))&&ch!='')

{

alert("/nTheCOUNTRYfieldonlyaccepts

letters&spaces./n/nPleasere-enteryourcountry.");

document.forms[0].elements[3].select();

document.forms[0].elements[3].focus();

returnfalse;

}

}

returntrue;

}

functionisComment(){

if(document.forms[0].elements[4].value==""){

if(confirm("/nYou'reabouttosubmit

withoutleavingacomment./n/nClick

onCANCELtoincludeacomment./n/nClick

onOKtocontinuewithoutacomment."))

returntrue

else

{

document.forms[0].elements[4].focus();

returnfalse;

}

}

else

returntrue

}

functionisFavorite(){

if(document.forms[0].elements[5].value==""){

if(confirm("/nYou'reabouttosubmitwithout

listingyourfavoritesites./n/nClickonCANCEL

toincludefavorites./n/nClickonOKtocontinue

withoutlistingfavorites."))

returntrue

else

{

document.forms[0].elements[5].focus();

returnfalse;

}

}

else

returntrue

}

//End-->

</SCRIPT>

</HEAD>



<BODY>

<CENTER>

<FORMENCTYPE="text/plain"

NAME="mail"METHOD='GET'

ACTION='mailto:Someone@abc.com'

onSubmit="returnsubmitForms()">

<TABLEBORDER=0WIDTH=400>

<TR>

<TDalign="center"><FONTCOLOR=800000>

<STRONG>Enteryourname:</STRONG></FONT></TD>

<TDalign="center"><FONTCOLOR=800000>

<STRONG>Enteryoure-mailaddress:</STRONG>

</FONT></TD>

</TR>

<TR>

<TDalign="center"><INPUTTYPE="text"

NAME="name"SIZE=30MAXLENGTH=40></TD>

</TD>

<TDalign="center"><INPUTTYPE="text"

NAME="email"SIZE=30MAXLENGTH=40></TD>

</TR>

<TR>

<TDalign="center"><FONTCOLOR=800000>

<STRONG>Yourbrowser</STRONG></FONT></TD>

<TDalign="center"><FONTCOLOR=800000>

<STRONG>Enteryourcountry:</STRONG></FONT></TD>

</TR>

<TR>

<TDalign="center"><INPUTTYPE="text"

NAME="browser"SIZE=30MAXLENGTH=60></TD>

<TDalign="center"><INPUTTYPE="text"

NAME="country"SIZE=30MAXLENGTH=60>

</TD>

</TR>

</TABLE>

<CENTER>

<FONTCOLOR=800000><STRONG>

Leaveacommentorsuggestion:</strong></font><BR>

<TEXTAREANAME="comments"

ROWS=5COLS=50wrap=yes>Comments?

Suggestions?</TEXTAREA><P><P>

<FONTCOLOR=800000><STRONG>

Listyourfavoritesites:</STRONG></FONT><BR>

<TDalign="center"><TEXTAREANAME="favorites"

ROWS=5COLS=50wrap=yes>

AnysitesIshouldtakealookat?</TEXTAREA>

<P><P>

<INPUTTYPE="submit"VALUE="Submit">

<center><INPUTTYPE="reset"VALUE="Reset"

onClick="Reset()">

</FORM>

</CENTER>

</BODY>

</HTML>

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值