itVincent Blog - Java Working Fun!

技术引领时代!
posts - 117, comments - 181, trackbacks - 0, articles - 12

正则表达式笔记

Posted on 2006-10-26 09:57 itVincent 阅读(419) 评论(0)  编辑  收藏

正则表达式笔记

1.[] 与 ()的区别

[a-zA-Z0-9] 在包含的字符中 , 匹配其中一个 , 可匹配 ”!a!”

(abc) 在包含的字符中 , 都要逐一匹配 , 而且有顺序 , 其实就是说 ,() 里面就是一个字正则式 ,

可匹配 ”3abc93”

2. 表达式之间千万不能有空格

 

.构造检查 email的正则表达式

/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/

  在一个完整的 email 地址中有三个部分 :
   1. 用户名 ( '@' 左边的一切 ),
   2.'@',
   3. 服务器名 ( 就是剩下那部分 ).
  用户名可以含有大小写字母阿拉伯数字 , 句号 ('.'), 减号 ('-'), and 下划线 ('_'). 服务器名字也是符合这个规则 , 当然下划线除外 .

  现在 , 用户名的开始和结束都不能是句点 . 服务器也是这样 . 还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式 :

   /^[\w-]+$/

 

  现在还不能允许句号的存在 . 我们把它加上 :
   /^[\w-]+(\.[\w-]+) * $/

 

  上面的意思就是说 : " 以至少一个规范字符(除了 . )开头 , 后面跟着 0 个或者多个 以点开始的字符串 ."

 

       然后是后面一部分 , 在网上流传的一种做法是 , 后面的一部分是跟前面那部分一样的 , 但是我觉得有点不妥 , 难道 abc@abc 这样也符合一个 email 地址格式吗 ? 我试过不少的系统 , 都不允许这样输入的 , 必需要你输入如 abc@abc.abc 这样的格式才行.所以后面部分是略有不同的.

       \^[\w-]+(\.[w-]+) $\

上面的意思就是说 : " 以至少一个规范字符(除了 . )开头 , 后面跟着 1个或者多个 以点开始的字符串 ."

 

. 现在只需要用 ”@” 把两部分连接 :
   /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[w-]+)+$/

  这就是完整的 email 认证匹配模式了 , JS 中只需要调用

reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[w-]+)+$/;

reg.exec(input);

返回为 true, 就是说 input 是一个 email 地址 .


  通过这种方法就可以得到是否为 email , 有什么说得不对的 , 请各位指正 !

 

 

 

只有注册用户登录后才能发表评论。


网站导航: