常用的几个正则表达式的写法

常用的几个正则表达式的写法:


1. 去掉获取的字符串信息前后的空格用空字符串替换:
    可以利用一个JavaScript函数实现: 


    function trim(str){ 
return str.replace(/(^\s*)|(\s*$)/g, ""); 
}


var cookie = "  this is a cookie value     ";
cookie = cookie.replace(/^\s+|\s+$/g, '');
结果为 cookie 变成 "this is a cookie value"。前后空格全部去掉了。




    另外:
^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.


\s 是空格的意思, * 表示有0个或多个


\s* 就是有0个或多个空格


(^\s*) 表示的就是以0个空格或者多个空格开头


| 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立.


\s*前面说过了


$ 的意思是字符串必须以前面的规则结尾


(\s*$) 的意思就是, 以0个空格或者多个空格结尾


/.../g  是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.


所以这个正则表达式替换的就是前导空格和后导空格
因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)
而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)


2. 正则表达式对手机号码的校验:


 正则表达式对手机号的验证^[1][3-8]+\\d{9}  
^[1][3-8]\\d{9}$
^首字母
[1]必须是1,方格可以去掉吧。。
[3-8]第二个数字为3-8之间
+加表示至少一个[3-8]
\\d表示数字
{9}表示9个,就是9个数字。


3. 正则表达式如何验证邮箱


^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$
或者
^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$


4. 验证日期格式的正则表达式,形如 2013-07-12


/^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/; 
这个是1900-2099,简单验证1-12月,1-31日,对于2月30这样的不管。如果都验证,这个正则表达式会很长,你看懂这个自己就会改了。例如:
<html>
<body>
<script language="javascript">
<!--
function test()
{
var pattern=/^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/;
var str=document.getElementById("str").value;
if(pattern.test(str)){alert("True!");}
else{alert("False!");}
}
-->
</script>
<input type="text" id="str">
<input type="button" value="Test" οnclick="test()">
</body>
</html>



     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值