JavaScript进阶

事件:

文本框对象的属性、方法和事件

 

 

事件

解说

一般事件

onclick

鼠标点击时触发此事件

ondblclick

鼠标双击时触发此事件

onmousedown

按下鼠标时触发此事件

onmouseup

鼠标按下后松开鼠标时触发此事件

onmouseover

当鼠标移动到某对象范围的上方时触发此事件

onmousemove

鼠标移动时触发此事件

onmouseout

当鼠标离开某对象范围时触发此事件

onkeypress

当键盘上的某个键被按下并且释放时触发此事件.

onkeydown

当键盘上某个按键被按下时触发此事件

onkeyup

当键盘上某个按键被按放开时触发此事件

页面相关事件

onabort

图片在下载时被用户中断

onbeforeunload

当前页面的内容将要被改变时触发此事件

onerror

出现错误时触发此事件

onload

页面内容完成时触发此事件

onmove

浏览器的窗口被移动时触发此事件

onresize

当浏览器的窗口大小被改变时触发此事件

onscroll

浏览器的滚动条位置发生变化时触发此事件

onstop

浏览器的停止按钮被按下时触发此事件或者正在下载的文件被中断

onunload

当前页面将被改变时触发此事件

表单相关事件

onblur

当前元素失去焦点时触发此事件

onchange

当前元素失去焦点并且元素的内容发生改变而触发此事件

onfocus

当某个元素获得焦点时触发此事件

onreset

当表单中RESET的属性被激发时触发此事件

onsubmit

一个表单被递交时触发此事件

滚动字幕事件

onbounce

在Marquee内的内容移动至Marquee显示范围之外时触发此事件

onfinish

当Marquee元素完成需要显示的内容后触发此事件

onstart

当Marquee元素开始显示内容时触发此事件

编辑事件

onbeforecopy

当页面当前的被选择内容将要复制到浏览者系统的剪贴板前触发此事件

onbeforecut

当页面中的一部分或者全部的内容将被移离当前页面[剪贴]并移动到浏览者的系统剪贴板时触发此事件

onbeforeeditfocus

当前元素将要进入编辑状态

onbeforepaste

内容将要从浏览者的系统剪贴板传送[粘贴]到页面中时触发此事件

onbeforeupdate

当浏览者粘贴系统剪贴板中的内容时通知目标对象

oncontextmenu

当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发的事件

oncopy

当页面当前的被选择内容被复制后触发此事件

oncut

当页面当前的被选择内容被剪切时触发此事件

ondrag

当某个对象被拖动时触发此事件 [活动事件]

ondragdrop

一个外部对象被鼠标拖进当前窗口或者帧

ondragend

当鼠标拖动结束时触发此事件,即鼠标的按钮被释放了

ondragenter

当对象被鼠标拖动的对象进入其容器范围内时触发此事件

ondragleave

当对象被鼠标拖动的对象离开其容器范围内时触发此事件

ondragover

当某被拖动的对象在另一对象容器范围内拖动时触发此事件

ondragstart

当某对象将被拖动时触发此事件

ondrop

在一个拖动过程中,释放鼠标键时触发此事件

onlosecapture

当元素失去鼠标移动所形成的选择焦点时触发此事件

onpaste

当内容被粘贴时触发此事件

onselect

当文本内容被选择时的事件

onselectstart

当文本内容选择将开始发生时触发的事件

数据绑定

onafterupdate

当数据完成由数据源到对象的传送时触发此事件

oncellchange

当数据来源发生变化时

ondataavailable

当数据接收完成时触发事件

ondatasetchanged

数据在数据源发生变化时触发的事件

ondatasetcomplete

当来子数据源的全部有效数据读取完毕时触发此事件

onerrorupdate

当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件

onrowenter

当前数据源的数据发生变化并且有新的有效数据时触发的事件

onrowexit

当前数据源的数据将要发生变化时触发的事件

onrowsdelete

当前数据记录将被删除时触发此事件

onrowsinserted

当前数据源将要插入新数据记录时触发此事件

外部事件

onafterprint

当文档被打印后触发此事件

onbeforeprint

当文档即将打印时触发此事件

onfilterchange

当某个对象的滤镜效果发生变化时触发的事件

onhelp

当浏览者按下F1或者浏览器的帮助选择时触发此事件

onpropertychange

当对象的属性之一发生变化时触发此事件

onreadystatechange

当对象的初始化属性值发生变化时触发此事件

 

javascript正则表达式检验

//1、校验是否全由数字组成
function isDigit(obj)
{
var patrn=/^[0-9]{1,20}$/;
if (patrn.test(obj.value)==false) return false
return true
}

//2、校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(obj)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (patrn.test(obj.value)==false) return false
return true
}

//3、校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(obj)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (patrn.test(obj.value)==false) return false
return true
}

//4、校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(obj)
{
var patrn=/^(\w){6,20}$/;
if (patrn.test(obj.value)==false) return false
return true
}

//5、校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(obj)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (patrn.test(obj.value)==false) return false
return true
}

//6、校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(obj)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (patrn.test(obj.value)==false) return false
return true
}

//7、校验邮政编码
function isPostalCode(obj)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (patrn.test(obj.value)==false) return false
return true
}

//8、校验邮箱

function CheckMail(obj) {
 var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
 if (filter.test(obj.value)==false) return false;
 else {
 return true;}
}

 

 

//9、校验中文

function checkChinese(obj)    

{        

var patrn = /^[0-9\u4e00-\u9faf]+$/;

if(patrn.test(obj.value)==false){

return false;

}else{

return true;

}

}

//10、校验IP地址

function checkIP(obj)    

{        

var patrn =

/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/

if(patrn.test(obj.value)==false){

return false;

}else{

return true;

}

}


//11、校验搜索关键字
function isSearch(obj)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
if (patrn.test(obj.value)==false) return false
return true
}

function isIP(obj) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (patrn.test(obj.value)==false) return false
return true
}

 

 


1.验证用户名和密码:("^[a-zA-Z]\w{5,15}$")正确格式:"[A-Z][a-z]_[0-9]"组成,并且第一个字必须为字母6~16位;

2.验证电话号码:("^(\d{3,4}-)\d{7,8}$")正确格式:xxx/xxxx-xxxxxxx/xxxxxxxx;

3.验证手机号码:"^1[3|4|5|7|8][0-9]{9}$";

4.验证身份证号(15位):"\d{14}[[0-9],0-9xX]",(18位):"\d{17}[[0-9],0-9xX]";

5.验证Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");

6.只能输入由数字和26个英文字母组成的字符串:("^[A-Za-z0-9]+$");

7.整数或者小数:^[0-9]+([.][0-9]+){0,1}$

8.只能输入数字:"^[0-9]*$"。

9.只能输入n位的数字:"^\d{n}$"。

10.只能输入至少n位的数字:"^\d{n,}$"。

11.只能输入m~n位的数字:"^\d{m,n}$"。

12.只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。

13.只能输入有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"。

14.只能输入有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"。

15.只能输入非零的正整数:"^\+?[1-9][0-9]*$"。

16.只能输入非零的负整数:"^\-[1-9][0-9]*$"。

17.只能输入长度为3的字符:"^.{3}$"。

18.只能输入由26个英文字母组成的字符串:"^[A-Za-z]+$"。

19.只能输入由26个大写英文字母组成的字符串:"^[A-Z]+$"。

20.只能输入由26个小写英文字母组成的字符串:"^[a-z]+$"。

21.验证是否含有^%&',;=?$\"等字符:"[%&',;=?$\\^]+"。

22.只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"。

23.验证URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。

24.验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"10"~"12"。

25.验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"、"10"~"29"和“30”~“31”。

26.获取日期正则表达式:\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?

评注:可用来匹配大多数年月日信息。

27.匹配双字节字符(包括汉字在内):[^\x00-\xff]

评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)

28.匹配空白行的正则表达式:\n\s*\r

评注:可以用来删除空白行

29.匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</>|<.*? />

评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力

30.匹配首尾空白字符的正则表达式:^\s*|\s*$

评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

31.匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

评注:网上流传的版本功能很有限,上面这个基本可以满足需求

32.匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

评注:表单验证时很实用

33.匹配腾讯QQ号:[1-9][0-9]{4,}

评注:腾讯QQ号从10 000 开始

34.匹配中国邮政编码:[1-9]\\d{5}(?!\d)

评注:中国邮政编码为6位数字

35.匹配ip地址:([1-9]{1,3}\.){3}[1-9]。

评注:提取ip地址时有用

36.匹配MAC地址:([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值