正则表达式

说明:以下内容来自互联网相关技术文档!并不定期更新;

  1. 正则表达式基本语法:
       正则表达式 由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式;
  •    常用的非打印字符:
   换页符:\f = \0c
   换行符:\n = \x0a
   回车符:\r =  \x0d
   制表符: \t =\x09
   垂直制表符: \v = \x0b
   空白字符:\s=[\f\n\r\t\v](包括空格、制表符、换页符等等)
   非空白字符:\S
   注意:Windows使用\r\n表示一行的结束,而UNIX使用\n
  •    特殊字符
    系统保留字符:
    ^:匹配输入字符串的开始位置,但在[]中,则表示不接受该字符;
    $:匹配输入字符串的结尾位置,如果设置了 RegExp 对象的 Multiline 属性,则$也      匹配 '\n'或'\r'
    *:匹配前面的表达式0次或多次;
    +:匹配前面的表达式一次或多次;
    ?:匹配前面的表达式0次或一次‘
    .:匹配除换行符\n外的任何单字符;
    \:转义字符
    |:指明两项中的选择;
   
  •     字符集:
    [ ]:表示字符集,表示能匹配字符集中的某一个字符且只能匹配一个字符;如:      a[bc]d则匹配:abd,acd,不能匹配abcd;
    字符集中用连字符“-”来表示一个范围:如[0-9a-zA-Z]则表示所有的数字和大小写    字母。
    [^]:表示否定,表示匹配除字符集中定义的字符以外的所有字符。包括非打印字符和    行结束符,如:[^a]表示匹配除了a以外的所有字符
    注意:字符集中的元字符只能是 ‘]’, ‘\’, ‘^’, 和 ‘-‘ ,其他的字符不表    示特殊意义,都表示普通字符,不需要加\;
     在字符集中要表示“]”,“^”和“-”需要在后面加上转义符“\”,来表示它们代     表的分别是普通字符“]”,“^”和“-”。
  • 预定义字符集:
    \d=[0-9],所有数字
    \w=[a-zA-Z],所有的字母
    \s=[\t\r\n],空格,回车和tab
    \D=[^\d],非数字
    \W=[^\w]非字母;
    \S=[^\s] 非空格,回车和tab
  • 限定符:
    {n} n 是一个非负整数。匹配确定的 n 次;
    {n,} n 是一个非负整数。至少匹配n 次;
    {n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次


在javascript中建立模式匹配:
 1.var reg = /^aaa$/ig
 2.var reg = new RegExp("^aaa$","ig");

常用的js正则表达式:
    匹配中文字符的正则表达式:[\u4e00-\u9fa5]
    匹配双字节字符(包括汉字在内):[^\x00-\xff]
    计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
    String.prototype.len=function(){return         this.replace(/[^\x00-\xff]/g,"aa").length;}
    trim方法:
    String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}
    匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
    匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
    用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').
replace(/[^\u4E00-\u9FA5]/))"
    用正则表达式限制只能输入全角字符: 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,''))"
      


   

本文出自 “太湖的水” 博客,谢绝转载!

你可能感兴趣的:(正则表达式,职场,休闲)