//meta[@name='creator']/@content这个js正则表达式式代表的是什么东西呢?

匹配中文字符的正则表达式: [/u4e00-/u9fa5]匹配双字节字符(包括汉字在内):[^/x00-/xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return this.replace([^/x00-/xff]/g,&aa&).}匹配空行的正则表达式:/n[/s| ]*/r匹配HTML标记的正则表达式:/&(.*)&.*&///1&|&(.*) //&/ 匹配首尾空格的正则表达式:(^/s*)|(/s*$)应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下:应用:javascript中没有像vbscript那样的trim函数,我们就可以利用这个表达式来实现,如下: String.prototype.trim = function(){&&& return this.replace(/(^/s*)|(/s*$)/g, &&);}利用正则表达式分解和转换IP地址:下面是利用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript程序:function IP2V(ip){&re=/(/d+)/.(/d+)/.(/d+)/.(/d+)/g& //匹配IP地址的正则表达式if(re.test(ip)){return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1}else{&throw new Error(&Not a valid IP address!&)}}不过上面的程序如果不用正则表达式,而直接用split函数来分解可能更简单,程序如下:var ip=&10.100.20.168&ip=ip.split(&.&)alert(&IP值是:&+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*匹配网址URL的正则表达式:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?利用正则表达式去除字串中重复的字符的算法程序:[注:此程序不正确,原因见本贴回复]var s=&abacabefgeeii&var s1=s.replace(/(.).*/1/g,&$1&)var re=new RegExp(&[&+s1+&]&,&g&)var s2=s.replace(re,&&) alert(s1+s2)& //结果为:abcefgi我原来在CSDN上发贴寻求一个表达式来实现去除重复字符的方法,最终没有找到,这是我能想到的最简单的实现方法。思路是使用后向引用取出包括重复的字符,再以重复的字符建立第二个表达式,取到不重复的字符,两者串连。这个方法对于字符顺序有要求的字符串可能不适用。得用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1s=&http://www.9499.net/page1.htm&s=s.replace(/(.*//){0,}([^/.]+).*/ig,&$2&)alert(s)利用正则表达式限制网页表单里的文本框输入内容:用正则表达式限制只能输入中文:onkeyup=&value=value.replace(/[^/u4E00-/u9FA5]/g,'')& onbeforepaste=&clipboardData.setData('text',clipboardData.getData('text').replace(/[^/u4E00-/u9FA5]/g,''))&用正则表达式限制只能输入全角字符:&onkeyup=&value=value.replace(/[^/uFF00-/uFFFF]/g,'')& onbeforepaste=&clipboardData.setData('text',clipboardData.getData('text').replace(/[^/uFF00-/uFFFF]/g,''))&用正则表达式限制只能输入数字:onkeyup=&value=value.replace(/[^/d]/g,'') &onbeforepaste=&clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))&用正则表达式限制只能输入数字和英文:onkeyup=&value=value.replace(/[/W]/g,'') &onbeforepaste=&clipboardData.setData('text',clipboardData.getData('text').replace(/[^/d]/g,''))&  1.1句点符号  假设你在玩英文拼字游戏,想要找出三个字母的单词,而且这些单词必须以&t&字母开头,以&n&字母结束。另外,假设有一本英文字典,你可以用正则表达式搜索它的全部内容。要构造出这个正则表达式,你可以使用一个通配符??句点符号&.&。这样,完整的表达式就是&t.n&,它匹配&tan&、&ten&、&tin&和&ton&,还匹配&t#n&、&tpn&甚至&tn&,还有其他许多无意义的组合。这是因为句点符号匹配所有字符,包括空格、Tab字符甚至换行符:  1.2方括号符号  为了解决句点符号匹配范围过于广泛这一问题,你可以在方括号(&[]&)里面指定看来有意义的字符。此时,只有方括号里面指定的字符才参与匹配。也就是说,正则表达式&t[aeio]n&只匹配&tan&、&Ten&、&tin&和&ton&。但&Toon&不匹配,因为在方括号之内你只能匹配单个字符:  1.4表示匹配次数的符号  表一显示了表示匹配次数的符号,这些符号用来确定紧靠该符号左边的符号出现的次数:  假设我们要在文本文件中搜索美国的社会安全号码。这个号码的格式是999-99-9999。用来匹配它的正则表达式如图一所示。在正则表达式中,连字符(&-&)有着特殊的意义,它表示一个范围,比如从0到9。因此,匹配社会安全号码中的连字符号时,它的前面要加上一个转义字符&/&。  图一:匹配所有123-12-1234形式的社会安全号码  假设进行搜索的时候,你希望连字符号可以出现,也可以不出现??即,999-99-999都属于正确的格式。这时,你可以在连字符号后面加上&?&数量限定符号,如图二所示:  图二:匹配所有123-12-234形式的社会安全号码  下面我们再来看另外一个例子。美国汽车牌照的一种格式是四个数字加上二个字母。它的正则表达式前面是数字部分&[0-9]{ 4}&,再加上字母部分&[A-Z]{ 2}&。图三显示了完整的正则表达式。  图三:匹配典型的美国汽车牌照号码,如8836KV  1.5&否&符号  &^&符号称为&否&符号。如果用在方括号内,&^&表示不想要匹配的字符。例如,图四的正则表达式匹配所有单词,但以&X&字母开头的单词除外。  图四:匹配所有单词,但&X&开头的除外  1.6圆括号和空白符号  假设要从格式为&June26,1951&的生日日期中提取出月份部分,用来匹配该日期的正则表达式可以如图五所示:  图五:匹配所有MothDD,YYYY格式的日期  新出现的&/s&符号是空白符号,匹配所有的空白字符,包括Tab字符。如果字符串正确匹配,接下来如何提取出月份部分呢?只需在月份周围加上一个圆括号创建一个组,然后用OROAPI(本文后面详细讨论)提取出它的值。修改后的正则表达式如图六所示:  图六:匹配所有MonthDD,YYYY格式的日期,定义月份值为第一个组  1.7其它符号  为简便起见,你可以使用一些为常见正则表达式创建的快捷符号。如表二所示:  表二:常用符号  例如,在前面社会安全号码的例子中,所有出现&[0-9]&的地方我们都可以使用&/d&。修改后的正则表达式如图七所示:/*------------------------ 功能:替换任何空白字符 -------------------------*/ function TrimString (strVal) { strTmp = strVal + &&; if (strTmp.length == 0) return (strTmp); reVal = /^/s*/; strTmp = strTmp.replace (reVal, ''); reVal = //s*$/; return (strTmp.replace (reVal, '')); } /*------------------------ 功能:检测是否是有效数字 -------------------------*/ function Check_Num( num ) { num = ( TrimString( num ) ); if (num.length == 0) return (false); return ( Number( num ) ); } /*------------------------ 功能:检测是否是有效日期 -------------------------*/ function Check_Date (strDate) { strDate = (TrimString (strDate)); if (strDate.length == 0) return (false); reVal = /^([1-2]/d{3})[//|/-](0?[1-9]|10|11|12)[//|/-]([1-2]?[0-9]|0[1-9]|30|31)$/; return (reVal.test (strDate)); } /*------------------------ 功能:检测是否是有效Email -------------------------*/ function Check_Email (strEmail) { strEmail = (TrimString (strEmail)); if (strEmail.length == 0) return (false); reVal = /^[/-!#/$%&'/*/+///.//0-9=/?A-Z/^_`a-z{|}~]+@[/-!#/$%&'/*/+///.//0-9=/?A-Z/^_`a-z{|}~]+(/.[/-!#/$%&'/*/+///.//0-9=/?A-Z/^_`a-z{|}~]+)+$/; return (reVal.test (strEmail)); } /*------------------------ 功能:检测是否是有效时间 -------------------------*/ function Check_Time (strTime) { strTime = (TrimString (strTime)); if (strTime.length == 0) return (false); reVal = /^(([0-9]|[01][0-9]|2[0-3])(:([0-9]|[0-5][0-9])){0,2}|(0?[0-9]|1[0-1])(:([0-9]|[0-5][0-9])){0,2}/s?[aApP][mM])?$/; return (reVal.test (strTime)); } /*------------------------ 功能:检测是否是有效日期特定格式 -------------------------*/ function Check_Date_1 (strDate) { strDate = (TrimString (strDate)); if (strDate.length == 0) return (false); reVal = /^([1-2]/d{3})[//](0?[1-9]|10|11|12)[//]([1-2]?[0-9]|0[1-9]|30|31)$/; return (reVal.test (strDate)); } /*------------------------ 功能:检测是否是有效日期特定格式 -------------------------*/ function Check_Date_2 (strDate) { strDate = (TrimString (strDate)); if (strDate.length == 0) return (false); reVal = /^([1-2]/d{3})[/-](0[1-9]|10|11|12)[/-]([1-2][0-9]|0[1-9]|30|31)$/; return (reVal.test (strDate)); } /*-------------------------------------- 功能:换行定行 ---------------------------------------*/ function enter( form, temp ) { if ( window.event.keyCode == 13 ) { eval( form + temp + &.focus()& ); eval( form + temp + &.select()& ); } else return (false); } /*-------------------------------------- 功能:检查字符串长度 ---------------------------------------*/ function ByteString (strVal) { nLen = 0; for (i = 0; i & strVal. i ++) { if (strVal.charCodeAt (i) & 255) nLen += 2; else nLen ++; }; return (nLen); } /*-------------------------------------- 功能:按要求截取字符串长度 ---------------------------------------*/ function SubString(strVal,nStrLen) { nLen = 0; nTemp = 0; for (i = 0; i & strVal. i ++) { if (strVal.charCodeAt (i) & 255) nLen += 2; else nLen ++; if(nLen &= nStrLen) nTemp = else
}; return(strVal.substr(0,nTemp+1)); } /*------------------------ 功能:检测密码,密码只能由英文字母、数字、减号、下划线、$、#、*、(和)构成,且首位必须是英文字母 -------------------------*/ function Check_Pass( strPass ) { strPass = ( TrimString( strPass ) ); if (strPass.length == 0) return (false); reVal = /^[a-zA-Z]{1}[a-zA-Z0-9-_$#*()]{0,29}$/; return ( reVal.test (strPass) ); } 这是所有的,不过是PHP的,你自己转换一下吧~~ &re: 正则表达式
^(((19)|(20))/d{2})(((((-|/)0?)|0)[1-9])|((-|/)?1[0-2]))((((((-|/)0?)|0)[1-9])|((-|/)?[1-2][0-9]))|((-|/)?3[0-1]))$ 格式 &re: 正则表达式
一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 () 2.3 长时间,形如 ( 13:04:06) 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 5.2 判断ie的版本 5.3 判断客户端的分辨率 6、结合类 6.1 email的判断。 6.2 手机号码的验证 6.3 身份证的验证 二、功能类 1、时间与相关控件类 1.1 日历 1.2 时间控件 1.3 万年历 1.4 显示动态显示时钟效果(文本,如OA中时间) 1.5 显示动态显示时钟效果 (图像,像手表) 2、表单类 2.1 自动生成表单 2.2 动态添加,修改,删除下拉框中的元素 2.3 可以输入内容的下拉框 2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送) 3、打印类 3.1 打印控件 4、事件类 4.1 屏蔽右键 4.2 屏蔽所有功能键 4.3 --& 和&-- F5 F11,F9,F1 4.4 屏蔽组合键ctrl+N 5、网页设计类 5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现) 5.2 html编辑控件类 5.3 颜色选取框控件 5.4 下拉菜单 5.5 两层或多层次的下拉菜单 5.6 仿IE菜单的按钮。(效果如的导航栏目) 5.7 状态栏,title栏的动态效果(例子很多,可以研究一下) 5.8 双击后,网页自动滚屏 6、树型结构。 6.1 asp+SQL版 6.2 asp+xml+sql版 6.3 java+sql或者java+sql+xml 7、无边框效果的制作 8、连动下拉框技术 9、文本排序 一、验证类 1、数字验证内 1.1 整数 /^(-|/+)?/d+$/.test(str) 1.2 大于0的整数 (用于传来的ID的验证) /^/d+$/.test(str) 1.3 负整数的验证 /^-/d+$/.test(str) 2、时间类 2.1 短时间,形如 (13:04:06) function isTime(str) { var a = str.match(/^(/d{1,2})(:)?(/d{1,2})/2(/d{1,2})$/); if (a == null) {alert('输入的参数不是时间格式');} if (a[1]&24 || a[3]&60 || a[4]&60) { alert(&时间格式不对&); return false }
} 2.2 短日期,形如 () function strDateTime(str) { var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/); if(r==null) var d= new Date(r[1], r[3]-1, r[4]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); } 2.3 长时间,形如 ( 13:04:06) function strDateTime(str) { var reg = /^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2}):(/d{1,2}):(/d{1,2})$/; var r = str.match(reg); if(r==null) var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); } 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 &input onblur=&if(this.value.replace(/^/s+|/s+$/g,'')=='')alert('不能为空!')&& 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 &input onblur=&if(/[^a-zA-Z]/g.test(this.value))alert('有错')&& 4.2 判断字符由字母和数字组成。 &input onblur=&if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')&& 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 /^([a-zA-z_]{1})([/w]*)$/g.test(str) 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 window.navigator.appName 5.2 判断ie的版本 window.navigator.appVersion 5.3 判断客户端的分辨率 window.screen. window.screen. 6、结合类 6.1 email的判断。 function ismail(mail) { return(new RegExp(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail)); } 6.2 手机号码的验证 6.3 身份证的验证 function isIdCardNo(num) { if (isNaN(num)) {alert(&输入的不是数字!&);} var len = num.length, if (len == 15) re = new RegExp(/^(/d{6})()?(/d{2})(/d{2})(/d{2})(/d{3})$/); else if (len == 18) re = new RegExp(/^(/d{6})()?(/d{4})(/d{2})(/d{2})(/d{3})(/d)$/); else {alert(&输入的数字位数不对!&);} var a = num.match(re); if (a != null) { if (len==15) { var D = new Date(&19&+a[3]+&/&+a[4]+&/&+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } else { var D = new Date(a[3]+&/&+a[4]+&/&+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } if (!B) {alert(&输入的身份证号 &+ a[0] +& 里出生日期不对!&);} }
} 3.7 复选框的全选,多选,全不选,反选 &form name=hrong& &input type=checkbox name=All onclick=&checkAll('mm')&&全选&br/& &input type=checkbox name=mm onclick=&checkItem('All')&&&br/& &input type=checkbox name=mm onclick=&checkItem('All')&&&br/& &input type=checkbox name=mm onclick=&checkItem('All')&&&br/& &input type=checkbox name=mm onclick=&checkItem('All')&&&br/& &input type=checkbox name=mm onclick=&checkItem('All')&&&br/&&br/& &input type=checkbox name=All2 onclick=&checkAll('mm2')&&全选&br/& &input type=checkbox name=mm2 onclick=&checkItem('All2')&&&br/& &input type=checkbox name=mm2 onclick=&checkItem('All2')&&&br/& &input type=checkbox name=mm2 onclick=&checkItem('All2')&&&br/& &input type=checkbox name=mm2 onclick=&checkItem('All2')&&&br/& &input type=checkbox name=mm2 onclick=&checkItem('All2')&&&br/& &/form& &SCRIPT LANGUAGE=&JavaScript&& function checkAll(str) { var a = document.getElementsByName(str); var n = a. for (var i=0; i&n; i++) a[i].checked = window.event.srcElement. } function checkItem(str) { var e = window.event.srcE var all = eval(&document.hrong.&+ str); if (e.checked) { var a = document.getElementsByName(e.name); all.checked = for (var i=0; i&a. i++) { if (!a[i].checked){ all.checked =} } } else all.checked = } &/SCRIPT& 3.8 文件上传过程中判断文件类型 &input type=file onchange=&alert(this.value.match(/^(.*)(/.)(.{1,8})$/)[3])&& 画图: &OBJECT id=S style=&LEFT: 0 WIDTH: 392 TOP: 0 HEIGHT: 240px& height=240 width=392 classid=&clsid:-D7AC-11D0-89D5-00A0C90833E6&& &/OBJECT& &SCRIPT& S.DrawingSurface.ArcDegrees(0,0,0,30,50,60); S.DrawingSurface.ArcRadians(30,0,0,30,50,60); S.DrawingSurface.Line(10,10,100,100); &/SCRIPT& 写注册表: &SCRIPT& var WshShell = WScript.CreateObject(&WScript.Shell&); WshShell.RegWrite (&HKCU//Software//ACME//FortuneTeller//&, 1, &REG_BINARY&); WshShell.RegWrite (&HKCU//Software//ACME//FortuneTeller//MindReader&, &Goocher!&, &REG_SZ&); var bKey = WshShell.RegRead (&HKCU//Software//ACME//FortuneTeller//&); WScript.Echo (WshShell.RegRead (&HKCU//Software//ACME//FortuneTeller//MindReader&)); WshShell.RegDelete (&HKCU//Software//ACME//FortuneTeller//MindReader&); WshShell.RegDelete (&HKCU//Software//ACME//FortuneTeller//&); WshShell.RegDelete (&HKCU//Software//ACME//&); &/SCRIPT& TABLAE相关(客户端动态增加行列) &HTML& &SCRIPT LANGUAGE=&JScript&& function numberCells() { var count=0; for (i=0; i & document.all.mytable.rows. i++) { for (j=0; j & document.all.mytable.rows(i).cells. j++) { document.all.mytable.rows(i).cells(j).innerText = count++; } } } &/SCRIPT& &BODY onload=&numberCells()&& &TABLE id=mytable border=1& &TR&&TH&&&/TH&&TH&&&/TH&&TH&&&/TH&&TH&&&/TH&&/TR& &TR&&TD&&&/TD&&TD&&&/TD&&TD&&&/TD&&TD&&&/TD&&/TR& &TR&&TD&&&/TD&&TD&&&/TD&&TD&&&/TD&&TD&&&/TD&&/TR& &/TABLE& &/BODY& &/HTML& 1.身份证严格验证: &script& var aCity={11:&北京&,12:&天津&,13:&河北&,14:&山西&,15:&内蒙古&,21:&辽宁&,22:&吉林&,23:&黑龙江&,31:&上海&,32:&江苏&,33:&浙江&,34:&安徽&,35:&福建&,36:&江西&,37:&山东&,41:&河南&,42:&湖北&,43:&湖南&,44:&广东&,45:&广西&,46:&海南&,50:&重庆&,51:&四川&,52:&贵州&,53:&云南&,54:&西藏&,61:&陕西&,62:&甘肃&,63:&青海&,64:&宁夏&,65:&新疆&,71:&台湾&,81:&香港&,82:&澳门&,91:&国外&} function cidInfo(sId){ var iSum=0 var info=&& if(!/^/d{17}(/d|x)$/i.test(sId)) sId=sId.replace(/x$/i,&a&); if(aCity[parseInt(sId.substr(0,2))]==null)return &Error:非法地区&; sBirthday=sId.substr(6,4)+&-&+Number(sId.substr(10,2))+&-&+Number(sId.substr(12,2)); var d=new Date(sBirthday.replace(/-/g,&/&)) if(sBirthday!=(d.getFullYear()+&-&+ (d.getMonth()+1) + &-& + d.getDate()))return &Error:非法生日&; for(var i = 17;i&=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) if(iSum%11!=1)return &Error:非法证号&; return aCity[parseInt(sId.substr(0,2))]+&,&+sBirthday+&,&+(sId.substr(16,1)%2?&男&:&女&) } document.write(cidInfo(&300016&),&&br/&&); document.write(cidInfo(&300019&),&&br/&&) document.write(cidInfo(&111111&),&&br/&&) document.write(cidInfo(&01001x&),&&br/&&); &/script& 2.验证IP地址 &SCRIPT LANGUAGE=&JavaScript&& function isip(s){ var check=function(v){try{return (v&=255 && v&=0)}catch(x){return false}}; var re=s.split(&.&) return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false } var s=&202.197.78.129&; alert(isip(s)) &/SCRIPT& 3.加sp1后还能用的无边框窗口!! &HTML XMLNS:IE& &meta http-equiv=&Content-Type& content=&text/ charset=gb2312&& &IE:Download ID=&include& STYLE=&behavior:url(#default#download)& /& &title&Chromeless Window&/title& &SCRIPT LANGUAGE=&JScript&& /*--- Special Thanks For andot ---*/ /* This following code are designed and writen by Windy_sk && You can use it freely, but u must held all the copyright items! */ /*--- Thanks For andot Again ---*/ var CW_width = 400; var CW_height = 300; var CW_top = 100; var CW_left = 100; var CW_url = &/&; var New_CW = window.createPopup(); var CW_Body = New_CW.document. var content = &&; var CSStext = &margin:1color: border:2border-style:expression(onmouseout=onmouseup=function(){this.style.borderStyle='outset'}, onmousedown=function(){if(event.button!=2)this.style.borderStyle='inset'});background-color:width:16height:14font-size:12line-height:11cursor:D&; //Build Window include.startDownload(CW_url, function(source){content=source}); function insert_content(){ var temp = &&; CW_Body.style.overflow = &hidden&; CW_Body.style.backgroundColor = &white&; CW_Body.style.border = &solid black 1px&; content = content.replace(/&a ([^&]*)&/g,&&a onclick='parent.open(this.href);return false' $1&&); temp += &&table width=100% height=100% cellpadding=0 cellspacing=0 border=0&&; temp += &&tr style=';font-size:12background:#0099CC;height:20;cursor:default' ondblclick=/&Max.innerText=Max.innerText=='1'?'2':'1';parent.if_max=!parent.if_parent.show_CW();/& onmouseup='parent.drag_up(event)' onmousemove='parent.drag_move(event)' onmousedown='parent.drag_down(event)' onselectstart='return false' oncontextmenu='return false'&&; temp += &&td style='color:#padding-left:5px'&Chromeless Window For IE6 SP1&/td&&; temp += &&td style='color:#padding-right:5' align=right&&; temp += &&span id=Help onclick=/&alert('Chromeless Window For IE6 SP1 - Ver 1.0//n//nCode By Windy_sk//n//nSpecial Thanks For andot')/& style=/&&+CSStext+&font-family:Spadding-right:2/&&?&/span&&; temp += &&span id=Min onclick='parent.New_CW.hide();parent.blur()' style=/&&+CSStext+&font-family:W/& title='Minimum'&0&/span&&; temp += &&span id=Max onclick=/&this.innerText=this.innerText=='1'?'2':'1';parent.if_max=!parent.if_parent.show_CW();/& style=/&&+CSStext+&font-family:W/& title='Maximum'&1&/span&&; temp += &&span id=Close onclick='parent.opener=parent.close()' style=/&&+CSStext+&font-family:Spadding-right:2/& title='Close'&x&/span&&; temp += &&/td&&/tr&&tr&&td colspan=2&&; temp += &&div id=include style='overflow:overflow-x:overflow-y: HEIGHT: 100%; width:&+CW_width+&'&&; temp += temp += &&/div&&; temp += &&/td&&/tr&&/table&&; CW_Body.innerHTML = } setTimeout(&insert_content()&,1000); var if_max = function show_CW(){ window.moveTo(1); if(if_max){ New_CW.show(CW_top, CW_left, CW_width, CW_height); if(typeof(New_CW.document.all.include)!=&undefined&){ New_CW.document.all.include.style.width = CW_ New_CW.document.all.Max.innerText = &1&; } }else{ New_CW.show(0, 0, screen.width, screen.height); New_CW.document.all.include.style.width = screen. } } window.onfocus = show_CW; window.onresize = show_CW; // Move Window var drag_x,drag_y,draging=false function drag_move(e){ if (draging){ New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);
} } function drag_down(e){ if(e.button==2) if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) drag_x=e.clientX; drag_y=e.clientY; draging= e.srcElement.setCapture(); } function drag_up(e){ draging= e.srcElement.releaseCapture(); if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) CW_top = e.screenX-drag_x; CW_left = e.screenY-drag_y; } &/SCRIPT& &/HTML& 电话号码的验证 要求:   (1)电话号码由数字、&(&、&)&和&-&构成   (2)电话号码为3到8位   (3)如果电话号码中包含有区号,那么区号为三位或四位   (4)区号用&(&、&)&或&-&和其他部分隔开   (5)移动电话号码为11或12位,如果为12位,那么第一位为0   (6)11位移动电话号码的第一位和第二位为&13&   (7)12位移动电话号码的第二位和第三位为&13&   根据这几条规则,可以与出以下正则表达式:   (^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) &script language=&javascript&& function PhoneCheck(s) { var str=s; var reg=/(^[0-9]{3,4}/-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^/([0-9]{3,4}/)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/ alert(reg.test(str)); } &/script& &input type=text name=&iphone&& &input type=button onclick=&PhoneCheck(document.all.iphone.value)& value=&Check&& 具有在输入非数字字符不回显的效果,即对非数字字符的输入不作反应。 function numbersonly(field,event){ var key, if(window.event){ key = window.event.keyC } else if (event){ key = event. } else{ return true } keychar = String.fromCharCode(key); if((key == null)||(key == 0)||(key == 8)||(key == 9)||(key == 13)||(key == 27)){
} else if((&.&).indexOf(keychar)&-1){ window.status = &&;
} else { window.status = &Field excepts numbers only&;
} } 验证ip str=document.RegExpDemo.txtIP. if(/^(/d{1,3})/.(/d{1,3})/.(/d{1,3})/.(/d{1,3})$/.test(str)==false) { window.alert('错误的IP地址格式'); document.RegExpDemo.txtIP.select(); document.RegExpDemo.txtIP.focus();
} if(RegExp.$1&1 || RegExp.$1&254||RegExp.$2&0||RegExp.$2&254||RegExp.$3&0||RegExp.$3&254||RegExp.$4&1||RegExp.$4&254) { window.alert('错误的IP地址'); document.RegExpDemo.txtIP.select(); document.RegExpDemo.txtIP.focus();
} //剔除 如 010.020.020.03 前面 的0 var str=str.replace(/0(/d)/g,&$1&); str=str.replace(/0(/d)/g,&$1&); window.alert(str); //一下是取数据的类 //Obj参数指定数据的来源(限定Table),默认第一行为字段名称行 //GetTableData类提供MoveNext方法,参数是表的行向上或向下移动的位数,正数向下移动,负数向上. //GetFieldData方法获得指定的列名的数据 //Sort_desc方法对指定的列按降序排列 //Sort_asc方法对指定的列按升序排列 //GetData方法返回字段值为特定值的数据数组,提供数据,可以在外部进行其他处理 //Delete方法删除当前记录,数组减少一行 //初始化,Obj:table的名字,Leftlen:左面多余数据长度,Rightlen:右面多余数据长度, function GetTableData(Obj,LeftLen,RightLen){ var MyObj=document.all(Obj); var iRow=MyObj.rows. var iLen=MyObj.rows[0].cells. var i,j; TableData=new Array(); for (i=0;i& iRi++){ TableData[i]=new Array(); for (j=0;j&iLj++){ TableStr=MyObj.rows(i).cells(j).innerT TableStr=TableStr.substring(LeftLen, TableStr.length-RightLen).Trim(); TableStr=TableStr.replace(/ /gi,&&).replace(//r/n/ig,&&); TableData[i][j]=TableS } } this.TableData=TableD this.cols=this.TableData[0]. this.rows=this.TableData. this.rowindex=0; } function movenext(Step){ if (this.rowindex&=this.rows){ return } if (Step==&& || typeof(Step)==&undefined&) { if (this.rowindex&this.rows-1) this.rowindex++;
} else{ if (this.rowindex + Step&=this.rows-1 && this.rowindex + Step&=0 ){ this.rowindex=this.rowindex + S } else { if (this.rowindex + Step&0){ this.rowindex= 0;
} if (this.rowindex + Step&this.rows-1){ this.rowindex= this.rows-1;
} } } } function getfielddata(Field){ var colindex=-1; var i=0; if (typeof(Field) == &number&){ colindex=F } else { for (i=0;i&this.cols && this.rowindex&this.i++){ if (this.TableData[0][i]==Field){ colindex=i;
} } } if (colindex!=-1) { return this.TableData[this.rowindex][colindex]; } } function sort_desc(){//降序 var colindex=-1; var highindex=-1; desc_array=new Array(); var i,j; for (n=0; n&arguments. n++){ Field=arguments[arguments.length-1-n]; for (i=0;i&this.i++){ if (this.TableData[0][i]==Field){ colindex=i;
} } if ( colindex==-1 )
else { desc_array[0]=this.TableData[0]; for(i=1;i&this.i++){ desc_array[i]=this.TableData[1]; highindex=1; for(j=1;j&this.TableData.j++){ if (desc_array[i][colindex]&this.TableData[j][colindex]){ desc_array[i]=this.TableData[j]; highindex=j; } } if (highindex!=-1) this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length)); } } this.TableData=desc_ }
} function sort_asc(){//升序 var colindex=-1; var highindex=-1; var i,j; for (n=0; n&arguments. n++){ asc_array=new Array(); Field=arguments[arguments.length-1-n]; for (i=0;i&this.i++){ if (this.TableData[0][i]==Field){ colindex=i;
} } if ( colindex==-1 )
else { asc_array[0]=this.TableData[0]; for(i=1;i&this.i++){ asc_array[i]=this.TableData[1]; highindex=1; for(j=1;j&this.TableData.j++){//找出最小的列值 if (asc_array[i][colindex]&this.TableData[j][colindex]){ asc_array[i]=this.TableData[j]; highindex=j; } } if (highindex!=-1) this.TableData=this.TableData.slice(0,highindex).concat(this.TableData.slice(highindex+1,this.TableData.length)); } } this.TableData=asc_ }
} function getData(Field,FieldValue){ var colindex=-1; var i,j; GetData=new Array(); if (typeof(Field)==&undefined& || typeof(FieldValue)==&undefined& ){ return this.TableD } for(j=0;j&this.j++){ if (this.TableData[0][j]==Field){ colindex=j; } } if (colindex!=-1){ for(i=1;i&this.i++){ if (this.TableData[i][colindex]==FieldValue){ GetData[i]=new Array(); GetData[i]=this.TableData[i]; } } } return GetD } function DeletE(){ this.TableData=this.TableData.slice(0,this.rowindex).concat(this.TableData.slice(this.rowindex+1,this.TableData.length)); this.rows=this.TableData.
} function updateField(Field,FieldValue){ var colindex=-1; var i=0; if (typeof(Field) == &number&){ colindex=F } else { for (i=0;i&this.cols && this.rowindex&this.i++){ if (this.TableData[0][i]==Field){ colindex=i;
} } } if (colindex!=-1) { this.TableData[this.rowindex][colindex]=FieldV } } function movefirst(){ this.rowindex=0; } function movelast(){ this.rowindex=this.rows-1; } function String.prototype.Trim() {return this.replace(/(^/s*)|(/s*$)/g,&&);} GetTableData.prototype.MoveNext = GetTableData.prototype.GetFieldData = GetTableData.prototype.Sort_asc = sort_ GetTableData.prototype.Sort_desc = sort_ GetTableData.prototype.GetData = getD GetTableData.prototype.Delete = DeletE; GetTableData.prototype.UpdateField = updateF GetTableData.prototype.MoveFirst = 具体的例子: 在每个文本框的onblur事件中调用校验代码,并且每个文本框中onKeyDown事件中写一个enter转tab函数 //回车键换为tab function enterToTab() { if(event.srcElement.type != 'button' && event.srcElement.type != 'textarea' && event.keyCode == 13) { event.keyCode = 9; } }
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:211551次
积分:4016
积分:4016
排名:第2857名
原创:130篇
转载:307篇
评论:62条
(1)(9)(2)(1)(7)(3)(1)(1)(37)(3)(28)(21)(126)(39)(17)(1)(5)(17)(74)(1)(16)(28)

我要回帖

更多关于 正则表达式 的文章

 

随机推荐