整理很详细的Java正则表达式使用大全
本文的全部内容都是针对Java正则表达式语法进行整理的,分享给大家: [正则表达式]文本框输入内容控制 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+)* 利用正则表达式限制网页表单里的文本框输入内容: 用正则表达式限制只能输入中文: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,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,''))" <input onkeyup="value=value.replace(/[^u4E00-u9FA5w]/g,clipboardData.getData('text').replace(/[^u4E00-u9FA5w]/g,''))" value="允许下划线,数字字母和汉字"> <script language="javascript"> if (document.layers)//触发键盘事件 document.captureEvents(Event.KEYPRESS) function xz(thsv,nob){ if(nob=="2"){ window.clipboardData.setData("text","") alert("避免非法字符输入,请勿复制字符"); return false; } if (event.keyCode!=8 && event.keyCode!=16 && event.keyCode!=37 && event.keyCode!=38 && event.keyCode!=39 && event.keyCode!=40){ thsvv=thsv.value;//输入的值 thsvs=thsvv.substring(thsvv.length-1);//输入的最后一个字符 //thsvss=thsvv.substring(0,thsvv.length-1);//去掉最后一个错误字符 if (!thsvs.replace(/[^u4E00-u9FA5w]/g,'') || event.keyCode==189){//正则除去符号和下划线 key thsv.value='请勿输入非法符号 ['+thsvs+']'; alert('请勿输入非法符号 ['+thsvs+']'); thsv.value=""; return false; } } } </script> <input onkeyup="xz(this,1)" onPaste="xz(this,2)" value="">允许数字字母和汉字 <script language="javascript"> <!-- function MaxLength(field,maxlimit){ var j = field.value.replace(/[^x00-xff]/g,"**").length; //alert(j); var tempString=field.value; var tt=""; if(j > maxlimit){ for(var i=0;i<maxlimit;i++){ if(tt.replace(/[^x00-xff]/g,"**").length < maxlimit) tt = tempString.substr(0,i+1); else break; } if(tt.replace(/[^x00-xff]/g,"**").length > maxlimit) tt=tt.substr(0,tt.length-1); field.value = tt; }else{ ; } } </script> 单行文本框控制<br /> <INPUT type="text" id="Text1" name="Text1" onpropertychange="MaxLength(this,5)"><br /> 多行文本框控制:<br /> <TEXTAREA rows="14" cols="39" id="Textarea1" name="Textarea1" onpropertychange="MaxLength(this,15)"></TEXTAREA><br /> 控制表单内容只能输入数字,中文.... <script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.focus(); return false; } } </script> <form name=a onsubmit="return test()"> <textarea name="b" cols="40" wrap="VIRTUAL" rows="6"></textarea> <input type="submit" name="Submit" value="check"> </form> 只能是汉字 <input onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')"> 只能是英文字符 <script language=javascript> function onlyEng() { if(!(event.keyCode>=65&&event.keyCode<=90)) event.returnValue=false; } </script> <input onkeydown="onlyEng();"> <input name="coname" type="text" size="50" maxlength="35" class="input2" onkeyup="value=value.replace(/[W]/g,''))"> 只能是数字 <script language=javascript> function onlyNum() { if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) //考虑小键盘上的数字键 event.returnValue=false; } </script> <input onkeydown="onlyNum();"> 只能是英文字符和数字 <input onkeyup="value=value.replace(/[W]/g,''))"> 验证为email格式 <SCRIPT LANGUAGE=Javascript RUNAT=Server> function isEmail(strEmail) { if (strEmail.search(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/) != -1) return true; else alert("oh"); } </SCRIPT> <input type=text onblur=isEmail(this.value)> 屏蔽关键字(sex,fuck) - 已修改 <script language="JavaScript1.2"> function test() { if((a.b.value.indexOf ("sex") == 0)||(a.b.value.indexOf ("fuck") == 0)){ alert("五讲四美三热爱"); a.b.focus(); return false;} } </script> <form name=a onsubmit="return test()"> <input type=text name=b> <input type="submit" name="Submit" value="check"> </form> 限制文本框里只能输入数字 <input onkeyup="if(event.keyCode !=37 && event.keyCode != 39) value=value.replace(/D/g,'');"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/D/g,''))"> <PIXTEL_MMI_EBOOK_2005>2 </PIXTEL_MMI_EBOOK_2005> 正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 字符 说明 特详细,特详细的Java正则表达式语法大全,希望大家喜欢。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |