js正则表达式

***正则表达式regular expression详述(一) 
1.使用方法
var reg=/(abc)/;
var a=document.getElementById("a").value;
alert(reg.test(a));
alert(reg.exec(a)[3]);
alert(reg.exec(a));




2.构造器
new RegExp("ab+c", "i") 
g: global match(全局匹配) //不会在第一次匹配之后停止,对于String.replace方法如果没有加g怎只会替换一个
i: ignore case(忽略大小写) 
gi: 


注意: 
当使用构造函数的时候,要用转义字符 
例如,下面的两条语句是等价的: 
re = new RegExp("\\w+") 
re = /\w+/ 


3.特殊字符的完整列表:
*:0-多
+:1-多
?:0-1
\b:匹配边界上的单词比如:/\babc/ 匹配 abcabcabc的第一个abc
\B:匹配非边界上的单词:/\Babc/匹配abcabcabc的第二个abc
\d:数字
\s:空格,tab等
\w:数字,字母下划线,相当于[A-Za-z0-9]

 



  4. 例子: 
   例1、
<SCRIPT LANGUAGE="JavaScript1.2"> 
re = /(\w+)\s(\w+)/; 
str = "John Smith"; 
newstr=str.replace(re,"$2, $1");  //$1, ..., $9属性 用圆括号括着的匹配子串,如果有的话。  
document.write(newstr) 
</SCRIPT> 
显示结果:"Smith, John". 


  例2、
<SCRIPT LANGUAGE="JavaScript1.2"> 
function getInfo(abc) 

re = /(\w+)\s(\d+)/; 
re.exec(abc.value); 
window.alert(RegExp.$1 + ", your age is " + RegExp.$2); 

</SCRIPT> 


  请输入你的姓和年龄,输入完后按回车键。 
   <FORM><INPUT TYPE="TEXT" NAME="NameAge" onChange="getInfo(this);"></FORM> 
   </HTML> 


3:
用正则表达式限制只能输入中文:οnkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,')" 


4.
用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^\d]/g,') 


5.
用正则表达式限制只能输入数字和英文:<input type="text" οnkeyup="value=value.replace(/[\W]/g,') />
  
6.
var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/; 


7.
采用正则表达式,来去除两边的空格,只需以下代码 
function() 

return this.replace(/(^\s*)|(\s*$)/g, ""); 



8.! 移动手机号的校验 
如果采用传统的校验方式至少就要完成下面三步的校验, 
(1).是否是数字 
(2).是否是11位 
(3).数字的第三位是否是5,6,7,8,9 
如果采用正则表达式校验,只需以下代码 
function checkMobile1(form) 

if (form.mobile.value > "") 

var reg=/13[5,6,7,8,9]\d{8}/; 
if ( form.mobile.value.match(reg)== null) 

alert("请输入正确的移动手机号码!"); 
form.mobile.focus(); return false; 


return true; 




*验证邮箱的正则表达式
/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值