javascript大全,JAvaScript

JavaScript实现计算多边形质心的方法示例

本文实例讲述了JavaScript实现计算多边形质心的方法。分享给大家供大家参考,具体如下:

目前成都创新互联公司已为1000+的企业提供了网站建设、域名、雅安服务器托管网站运营、企业网站设计、康保网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

最近要基于百度地图显示多边形的标注,所以就研究了下计算Polygon的质心,代码如下:

function

Area(p0,p1,p2)

{

var

area

=

0.0

;

area

=

p0.lng

*

p1.lat

+

p1.lng

*

p2.lat

+

p2.lng

*

p0.lat

-

p1.lng

*

p0.lat

-

p2.lng

*

p1.lat

-

p0.lng

*

p2.lat;

return

area

/

2

;

}

//line

249

计算polygon的质心

function

getPolygonAreaCenter(points)

{

var

sum_x

=

0;

var

sum_y

=

0;

var

sum_area

=

0;

var

p1

=

points[1];

debugger;

for

(var

i

=

2;

i

points.length;

i++)

{

p2=points[i];

area

=

Area(points[0],p1,p2)

;

sum_area

+=

area

;

sum_x

+=

(points[0].lng

+

p1.lng

+

p2.lng)

*

area;

sum_y

+=

(points[0].lat

+

p1.lat

+

p2.lat)

*

area;

p1

=

p2

;

}

var

xx

=

sum_x

/

sum_area

/

3;

var

yy

=

sum_y

/

sum_area

/

3;

return

new

BMap.Point(xx,

yy);

}

标注文字的效果如下:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript事件相关操作与技巧大全》、《JavaScript操作DOM技巧总结》及《JavaScript字符与字符串操作技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

您可能感兴趣的文章:js浮点数精确计算(加、减、乘、除)javascript

计算两个整数的百分比值js中精确计算加法和减法示例根据经纬度计算地球上两点之间的距离js实现代码js计算精度问题小结html+js实现简单的计算器代码(加减乘除)如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)jsvascript图像处理—(计算机视觉应用)图像金字塔Javascript计算两个marker之间的距离(Google

Map

V3)javascript图像处理—边缘梯度计算函数

JavaScript属性方法,很多记不住怎么办?

我从来不会去记那些东西,一种语言里面都会有很多的属性和方法,去死记不太现实,第一你要准备一个开发手册,自己比较熟悉的那种,第二记住我们经常使用的方法和属性,不必记得全面,目前的开发软件都会有提示功能(记住前几个字母就可以了)。

比如我是.net开发程序员,.net中的属性方法可以说是最多的了,但是有VS开发工具一切都简单了。

不过我这种方法面试时是个短板(笔试---好多写不出来哦)。

求个简单javascript代码 谢谢,网站菜单功能

不用说自己菜不菜的,能有这个学习的精神已经很值得鼓励了

呵呵,下面,我来给你介绍几个网站常见的菜单

第一个:仿网易的滑动门导航菜单

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=gb2312" /

title仿网易的滑动门技术,用DIV+CSS技术实现/title

style type="text/css"

!--

#header {

background-color: #F8F4EF;

height: 200px;

width: 400px;

margin: 0px;

padding: 0px;

border: 1px solid #ECE1D5;

font-family: "宋体";

font-size: 12px;

}

#menu {

margin: 0px;

padding: 0px;

list-style-type: none;

}

#menu li {

display: block;

width: 100px;

text-align: center;

float: left;

margin: 0px;

padding-top: 0.2em;

padding-right: 0px;

padding-bottom: 0.2em;

padding-left: 0px;

cursor: hand;

}

.sec1 { background-color: #FFFFCC;}

.sec2 { background-color: #00CCFF;}

.block { display: block;}

.unblock { display: none;}

--

/style

/head

body

script language=javascript

function secBoard(n)

{

for(i=0;imenu.childNodes.length;i++)

menu.childNodes[i].className="sec1";

menu.childNodes[n].className="sec2";

for(i=0;imain.childNodes.length;i++)

main.childNodes[i].style.display="none";

main.childNodes[n].style.display="block";

}

/script

div id="header"

ul id="menu"

li onMouseOver="secBoard(0)" class="sec2"最新新闻/li

li onMouseOver="secBoard(1)" class="sec1"最新文章/li

li onMouseOver="secBoard(2)" class="sec1"最新日志/li

li onMouseOver="secBoard(3)" class="sec1"论坛新帖/li

/ul

!--内容显示区域--

ul id="main"

li class="block"第一个内容/li

li class="unblock"第二个内容/li

li class="unblock"第三个内容/li

li class="unblock"第四个内容/li

/ul

!--内容显示区域--

/div

/body

/html

这里基本上是使用Css与Div的结合,在整个布局中已层为单位,实行滑动菜单的是一个javascript脚本函数,调用就可以了,看不懂不要紧,日渐积累才是重要

第二个:经典实用的触发型导航(这是鼠标单击事件控制)

html

head

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

title网页特效代码|JsCode.CN|---经典实用的触发型导航菜单/title

/head

body

STYLE type=text/css.sec1 {

BORDER-RIGHT: gray 1px solid; BORDER-TOP:

#ffffff 1px solid; BORDER-LEFT: #ffffff 1px

solid; CURSOR: hand; COLOR: #000000; BORDER-

BOTTOM: #ffffff 1px solid; BACKGROUND-COLOR:

#eeeeee

}

.sec2 {

BORDER-RIGHT: gray 1px solid; BORDER-TOP:

#ffffff 1px solid; FONT-WEIGHT: bold; BORDER-

LEFT: #ffffff 1px solid; CURSOR: hand; COLOR:

#000000; BACKGROUND-COLOR: #d4d0c8

}

.main_tab {

BORDER-RIGHT: gray 1px solid; BORDER-

LEFT: #ffffff 1px solid; COLOR: #000000; BORDER-

BOTTOM: gray 1px solid; BACKGROUND-COLOR: #d4d0c8

}

/STYLE

!--JavaScript部分--

SCRIPT language=javascript

function secBoard(n)

{

for(i=0;isecTable.cells.length;i++)

secTable.cells

[i].className="sec1";

secTable.cells[n].className="sec2";

for(i=0;imainTable.tBodies.length;i++)

mainTable.tBodies

[i].style.display="none";

mainTable.tBodies

[n].style.display="block";

}

/SCRIPT

!--HTML部分--

TABLE id=secTable cellSpacing=0 cellPadding=0 width=549 border=0

TBODY

TR align=middle height=20

TD class=sec2 onclick=secBoard(0) width="10%"关于TBODY标记/TD

TD class=sec1 onclick=secBoard(1) width="10%"关于cells集合/TD

TD class=sec1 onclick=secBoard(2) width="10%"关于tBodies集合/TD

TD class=sec1 onclick=secBoard(3) width="10%"关于display属性/TD/TR/TBODY/TABLE

TABLE class=main_tab id=mainTable height=240 cellSpacing=0 cellPadding=0 width=549 border=0!--关于TBODY标记--

TBODY style="DISPLAY: block"

TR

TD vAlign=top align=middleBRBR

TABLE cellSpacing=0 cellPadding=0 width=490 border=0

TBODY

TR

TD指定行做为表体。

BR注释:TBODY要素是块要素,并且需要结束标

签。BR 即使如果表格没有显式定义TBODY

要素,该要素也提供给所有表。BRBR

参考:《动态HTML参考和开发应用大全》(人民邮电出

版社

Microsoft Corporation著

北京华中兴业科技发展有限公司

译)

BRBR/TD/TR/TB

ODY/TABLE/TD/TR/T

BODY!--关于cells集合--

TBODY style="DISPLAY:

none"

TR

TD vAlign=top

align=middleBRBR

TABLE cellSpacing=0

cellPadding=0 width=490 border=0

TBODY

TR

TD检索表行或者整个

表中所有单元格的集合。BR应用于TR、TABLE。

BRBR参考:《动态HTML参考和开发应

用大全》(人民邮电出版社

Microsoft Corporation著

北京华中兴业科技发展有限公司

译)

BRBR/TD/TR/TB

ODY/TABLE/TD/TR/T

BODY!--关于tBodies集合--

TBODY style="DISPLAY:

none"

TR

TD vAlign=top

align=middleBRBR

TABLE cellSpacing=0

cellPadding=0 width=490 border=0

TBODY

TR

TD检索表中所有TBODY

对象的集合。对象在该集合中按照HTML源顺序排列。

BR应用于TABLE。BRBR参考:

《动态HTML参考和开发应用大全》(人民邮电出版社

Microsoft Corporation著

北京华中兴业科技发展有限公司

译)

BRBR/TD/TR/TB

ODY/TABLE/TD/TR/T

BODY!--关于display属性--

TBODY style="DISPLAY:

none"

TR

TD vAlign=top

align=middleBRBR

TABLE cellSpacing=0

cellPadding=0 width=490 border=0

TBODY

TR

TD设置或者检索对象

是否被提供。BR可能的值为block、none、

inline、list-item、table-header-group、table-

footer-group。BR该特性可读写,块要素默认

值为block,内联要素默认值为inline;层叠样式表

(CSS)属性不可继承。BRBR参考:《

动态HTML参考和开发应用大全》(人民邮电出版社

Microsoft Corporation著

北京华中兴业科技发展有限公司译)

BRBRA

href="" target=_blank点击此处

/A可参阅微软A href="" target=_blankMSDN在线/A上的解释。

/TD/TR/TBODY/TABLE

;/TD/TR/TBODY/TABLEg

t;/body

/html

这里跟上面不同的区别在与这是鼠标移动和滑动的事件区别!

第三个:仿拍拍的切换效果菜单(里面的图片是我放上去的,所以会看不到图片的,呵呵 继续)

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns="" lang="zh-CN"

head

meta http-equiv="Content-Language" content="zh-cn" /

meta http-equiv="Content-Type" content="text/html; charset=gb2312" /

meta name="robots" content="all" /

title网页特效|网页特效代码(JsHtml.cn)---仿拍拍paipai.com首页产品图片随机轮显切换效果/titlestyle

body {font-size:12px}

img {border:0px}

#sale{right:206px;top:0;width:260px;background:#fff}

#saleTitle{text-align:right;padding-top:5px;padding-right:5px;width:255px;height:20px;background:url("images/saleTitle.gif") no-repeat}

#saleList{margin-top:5px}

#saleList .saleTwo{height:108px;background:url("images/salelineH.gif") bottom repeat-x;}

#saleList a{display:block;height:108px;width:86px;text-align:center;float:left;overflow:hidden}

#saleList a.saleItem{background:url("images/salelineV.gif") right repeat-y;}

#saleList a img{margin:5px 0}

#saleList a:hover{background-color:#EBFFC5}

/style

script type="text/javascript"

rnd.today=new Date();

rnd.seed=rnd.today.getTime();

function rnd(){

rnd.seed = (rnd.seed*9301+49297) % 233280;

return rnd.seed/(233280.0);

}

function rand(number){

return Math.ceil(rnd()*number)-1;

}

function nextSale(order){

if(order=="up") saleNum--;

else saleNum++;

if(saleNum2) saleNum=0

else if(saleNum0) saleNum=2;

//alert(saleNum);

for(i=0;i3;i++)

document.getElementById("saleList"+i).style.display="none";

document.getElementById("saleList"+saleNum).style.display="";

}

/script

/head

body

div id="sale" class="absolute overflow"

div id="saleTitle" class="absolute"

a href="javascript:nextSale('up')" title="点击到上一屏"

img src="images/saleFore.gif" hspace="4" onmouseover="this.src='images/saleForeOver.gif'" onmouseout="this.src='images/saleFore.gif'" //aa href="javascript:nextSale('down')" title="点击到下一屏"img src="images/saleNext.gif" onmouseover="this.src='images/saleNextOver.gif'" onmouseout="this.src='images/saleNext.gif'" //a/div

div class="overflow" style="height:330px" id="saleList"

script type="text/javascript"var saleNum=rand(3);/script

div id="saleList0" style="display:none"

div class="saleTwo"

a class="saleItem" href="" target="_blank"

div

img alt="圣诞浪漫饰品超级大促" src="/jsimages/UploadFiles_3321/200804/20080423085515804.jpg" width="65" height="65" //div

div

圣诞浪漫饰品br /

超级大促/div

/a

a class="saleItem" href="" target="_blank"

div

img alt="摄像头集结号给你新的感觉" src="/jsimages/UploadFiles_3321/200804/20080423085516472.jpg" width="65" height="65" //div

div

摄像头集结号br /

给你新的感觉/div

/aa href="" target="_blank"

div

img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" //div

div

好感度提升br /

韩版娃娃装/div

/a/div

div class="saleTwo"

a class="saleItem" href="" target="_blank"

div

img alt="复古牛仔外套特惠119元起" src="/jsimages/UploadFiles_3321/200804/20080423085516293.jpg" width="65" height="65" //div

div

复古牛仔外套br /

特惠119元起/div

/a

a class="saleItem" href="" target="_blank"

div

img alt="圣诞拍拍特供运动服3折" src="/jsimages/UploadFiles_3321/200804/20080423085516802.jpg" width="65" height="65" //div

div

圣诞拍拍特供br /

运动服3折/div

/aa href="" target="_blank"

div

img alt="摄像头集结号给你新的感觉" src="/jsimages/UploadFiles_3321/200804/20080423085516472.jpg" width="65" height="65" //div

div

摄像头集结号br /

给你新的感觉/div

/a/div

div

a class="saleItem" href="" target="_blank"

div

img alt="圣诞拍拍特供电脑周边4折" src="/jsimages/UploadFiles_3321/200804/20080423085516530.jpg" width="65" height="65" //div

div

圣诞拍拍特供br /

电脑周边4折/div

/a

a class="saleItem" href="" target="_blank"

div

img alt="party扮靓甜美腮红" src="/jsimages/UploadFiles_3321/200804/20080423085516658.jpg" width="65" width="65" height="65" //div

div

party扮靓br /

甜美腮红/div

/aa href="" target="_blank"

div

img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" //div

div

好感度提升br /

韩版娃娃装/div

/a/div

/div

div id="saleList1" style="display:none"

div class="saleTwo"

a class="saleItem" href="" target="_blank"

div

img alt="新奇好玩便宜尽在网游频道" src="/jsimages/UploadFiles_3321/200804/20080423085516612.jpg" width="65" height="65" //div

div

新奇好玩便宜br /

尽在网游频道/div

/a

a class="saleItem" href="" target="_blank"

div

img alt="展现高贵气质骑士系马靴" src="/jsimages/UploadFiles_3321/200804/20080423085516202.jpg" width="65" height="65" //div

div

展现高贵气质br /

骑士系马靴/div

/aa href="" target="_blank"

div

img alt="摄像头集结号给你新的感觉" src="/jsimages/UploadFiles_3321/200804/20080423085516472.jpg" width="65" height="65" //div

div

摄像头集结号br /

给你新的感觉/div

/a/div

div class="saleTwo"

a class="saleItem" href="" target="_blank"

div

img alt="永不过时条纹毛衣" src="/jsimages/UploadFiles_3321/200804/20080423085516984.jpg" width="65" height="65" //div

div

永不过时br /

条纹毛衣/div

/a

a class="saleItem" href="" target="_blank"

div

img alt="圣诞拍拍特供运动鞋2折" src="/jsimages/UploadFiles_3321/200804/20080423085516651.jpg" width="65" height="65" //div

div

圣诞拍拍特供br /

运动鞋2折/div

/aa href="" target="_blank"

div

img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" //div

div

好感度提升br /

韩版娃娃装/div

/a/div

div

a class="saleItem" href="" target="_blank"

div

img alt="精简唯美索爱K630" src="/jsimages/UploadFiles_3321/200804/20080423085516302.jpg" width="65" height="65" //div

div

精简唯美br /

索爱K630/div

/a

a class="saleItem" href="" target="_blank"

div

img alt="原装瑞士军刀精选" src="/jsimages/UploadFiles_3321/200804/20080423085516549.jpg" width="65" width="65" height="65" //div

div

原装瑞士军刀br /

精选/div

/aa href="" target="_blank"

div

img alt="超薄机身索爱W880" src="/jsimages/UploadFiles_3321/200804/20080423085516711.jpg" width="65" height="65" //div

div

超薄机身br /

索爱W880/div

/a/div

/div

div id="saleList2" style="display:none"

div class="saleTwo"

a class="saleItem" href="" target="_blank"

div

img alt="各就各味秋冬饮食计划" src="/jsimages/UploadFiles_3321/200804/20080423085516704.jpgtype=3" width="65" height="65" //div

div

各就各味br /

秋冬饮食计划/div

/aa href="" target="_blank"

div

img alt="好感度提升韩版娃娃装" src="/jsimages/UploadFiles_3321/200804/20080423085516162.jpg" width="65" height="65" //div

div

好感度提升br /

韩版娃娃装/div

/a/div

div class="saleTwo"

a class="saleItem" href="" target="_blank"

div

img alt="圣诞拍拍特供随身视听5折" src="/jsimages/UploadFiles_3321/200804/20080423085516375.jpg" width="65" height="65" //div

div

圣诞拍拍特供br /

随身视听5折/div

/aa href="" target="_blank"

div

img alt="超薄机身索爱W880" src="/jsimages/UploadFiles_3321/200804/20080423085516711.jpg" width="65" height="65" //div

div

超薄机身br /

索爱W880/div

/a/div

div

a class="saleItem" href="" target="_blank"

div

img alt="我爱我家家居大抢购" src="/jsimages/UploadFiles_3321/200804/20080423085516954.jpg" width="65" height="65" //div

div

我爱我家br /

家居大抢购/div

/aa href="" target="_blank"

div

img alt="超值彩妆套装变身派对女王" src="/jsimages/UploadFiles_3321/200804/20080423085516919.jpg" width="65" width="65" height="65" //div

div

超值彩妆套装br /

变身派对女王/div

/a/div

/div

/div

/div

script type="text/javascript"document.getElementById("saleList"+saleNum).style.display="";/script

p /p

p更多网页特效代码尽在 a href=""网页特效代码/a/p

/body

/html

这个仿拍拍基本上就是2层放图片,但用起来的效果还是可以的,如果不喜欢我还有下面呢,慢慢学,总会看懂的 (最重要的还是Css哦)

这个主要就是让层实现隐藏 我觉得这个在层使用方面还是好的

从总体上看,在实现层与层之间的交互,在其代码 我觉得你有必要去认真看下 !

以上是我介绍额度菜单,虽然不是很强大,但是却很使用,而且在J2EE中

菜单基本上是一个假象,都是用层与Css之间的特效做出来的!

学会了层的具体应用,我相信你也可以有自己特色的菜单的

那我祝你好运咯!!加油!!

求javascript表单验证大全

JavaScript验证表单大全

script

/*

用途:校验ip地址的格式

输入:strIP:ip地址

返回:如果通过验证返回true,否则返回false;

*/

function isIP(strIP) {

if (isNull(strIP)) return false;

var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式

if(re.test(strIP))

{

if( RegExp.$1 256 RegExp.$2256 RegExp.$3256 RegExp.$4256) return true;

}

return false;

}

/*

用途:检查输入字符串是否为空或者全部都是空格

输入:str

返回:

如果全是空返回true,否则返回false

*/

function isNull( str ){

if ( str == "" ) return true;

var regu = "^[ ]+$";

var re = new RegExp(regu);

return re.test(str);

}

/*

用途:检查输入对象的值是否符合整数格式

输入:str 输入的字符串

返回:如果通过验证返回true,否则返回false

*/

function isInteger( str ){

var regu = /^[-]{0,1}[0-9]{1,}$/;

return regu.test(str);

}

/*

用途:检查输入手机号码是否正确

输入:

s:字符串

返回:

如果通过验证返回true,否则返回false

*/

function checkMobile( s ){

var regu =/^[1][3][0-9]{9}$/;

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}

/*

用途:检查输入字符串是否符合正整数格式

输入:

s:字符串

返回:

如果通过验证返回true,否则返回false

*/

function isNumber( s ){

var regu = "^[0-9]+$";

var re = new RegExp(regu);

if (s.search(re) != -1) {

return true;

} else {

return false;

}

}

/*

用途:检查输入字符串是否是带小数的数字格式,可以是负数

输入:

s:字符串

返回:

如果通过验证返回true,否则返回false

*/

function isDecimal( str ){

if(isInteger(str)) return true;

var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;

if (re.test(str)) {

if(RegExp.$1==0RegExp.$2==0) return false;

return true;

} else {

return false;

}

}

/*

用途:检查输入对象的值是否符合端口号格式

输入:str 输入的字符串

返回:如果通过验证返回true,否则返回false

*/

function isPort( str ){

return (isNumber(str) str65536);

}

/*

用途:检查输入对象的值是否符合E-Mail格式

输入:str 输入的字符串

返回:如果通过验证返回true,否则返回false

*/

function isEmail( str ){

var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;

if(myReg.test(str)) return true;

return false;

}

/*

用途:检查输入字符串是否符合金额格式

格式定义为带小数的正数,小数点后最多三位

输入:

s:字符串

返回:

如果通过验证返回true,否则返回false

*/

function isMoney( s ){

var regu = "^[0-9]+[\.][0-9]{0,3}$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

} else {

return false;

}

}

/*

用途:检查输入字符串是否只由英文字母和数字和下划线组成

输入:

s:字符串

返回:

如果通过验证返回true,否则返回false

*/

function isNumberOr_Letter( s ){//判断是否是数字或字母

var regu = "^[0-9a-zA-Z\_]+$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}

/*

用途:检查输入字符串是否只由英文字母和数字组成

输入:

s:字符串

返回:

如果通过验证返回true,否则返回false

*/

function isNumberOrLetter( s ){//判断是否是数字或字母

var regu = "^[0-9a-zA-Z]+$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}

/*

用途:检查输入字符串是否只由汉字、字母、数字组成

输入:

value:字符串

返回:

如果通过验证返回true,否则返回false

*/

function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成

var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";

var re = new RegExp(regu);

if (re.test(s)) {

return true;

}else{

return false;

}

}

/*

用途:判断是否是日期

输入:date:日期;fmt:日期格式

返回:如果通过验证返回true,否则返回false

*/

function isDate( date, fmt ) {

if (fmt==null) fmt="yyyyMMdd";

var yIndex = fmt.indexOf("yyyy");

if(yIndex==-1) return false;

var year = date.substring(yIndex,yIndex+4);

var mIndex = fmt.indexOf("MM");

if(mIndex==-1) return false;

var month = date.substring(mIndex,mIndex+2);

var dIndex = fmt.indexOf("dd");

if(dIndex==-1) return false;

var day = date.substring(dIndex,dIndex+2);

if(!isNumber(year)||year"2100" || year "1900") return false;

if(!isNumber(month)||month"12" || month "01") return false;

if(daygetMaxDay(year,month) || day "01") return false;

return true;

}

function getMaxDay(year,month) {

if(month==4||month==6||month==9||month==11)

return "30";

if(month==2)

if(year%4==0year%100!=0 || year%400==0)

return "29";

else

return "28";

return "31";

}

/*

用途:字符1是否以字符串2结束

输入:str1:字符串;str2:被包含的字符串

返回:如果通过验证返回true,否则返回false

*/

function isLastMatch(str1,str2)

{

var index = str1.lastIndexOf(str2);

if(str1.length==index+str2.length) return true;

return false;

}

/*

用途:字符1是否以字符串2开始

输入:str1:字符串;str2:被包含的字符串

返回:如果通过验证返回true,否则返回false

*/

function isFirstMatch(str1,str2)

{

var index = str1.indexOf(str2);

if(index==0) return true;

return false;

}

/*

用途:字符1是包含字符串2

输入:str1:字符串;str2:被包含的字符串

返回:如果通过验证返回true,否则返回false

*/

function isMatch(str1,str2)

{

var index = str1.indexOf(str2);

if(index==-1) return false;

return true;

}

/*

用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,

且结束如期=起始日期

输入:

startDate:起始日期,字符串

endDate:结束如期,字符串

返回:

如果通过验证返回true,否则返回false

*/

function checkTwoDate( startDate,endDate ) {

if( !isDate(startDate) ) {

alert("起始日期不正确!");

return false;

} else if( !isDate(endDate) ) {

alert("终止日期不正确!");

return false;

} else if( startDate endDate ) {

alert("起始日期不能大于终止日期!");

return false;

}

return true;

}

/*

用途:检查输入的Email信箱格式是否正确

输入:

strEmail:字符串

返回:

如果通过验证返回true,否则返回false

*/

function checkEmail(strEmail) {

//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;

var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;

if( emailReg.test(strEmail) ){

return true;

}else{

alert("您输入的Email地址格式不正确!");

return false;

}

}

/*

用途:检查输入的电话号码格式是否正确

输入:

strPhone:字符串

返回:

如果通过验证返回true,否则返回false

*/

function checkPhone( strPhone ) {

var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;

var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;

var prompt = "您输入的电话号码不正确!"

if( strPhone.length 9 ) {

if( phoneRegWithArea.test(strPhone) ){

return true;

}else{

alert( prompt );

return false;

}

}else{

if( phoneRegNoArea.test( strPhone ) ){

return true;

}else{

alert( prompt );

return false;

}

}

}

/script

form name=a onsubmit="return checkPhone(document.a.b.value);"

INPUT TYPE="text" NAME="b"

input type="submit" name="Submit" value="check"

/form


新闻名称:javascript大全,JAvaScript
网页地址:http://scyanting.com/article/dsccjhg.html