常用的JavaScript验证正则表达式(转载)正则表达式相关文化和阅历的碎片化记录。

字符 描述
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,’n’ 匹配字符 "n"。’\n’ 匹配一个换行符。序列 ‘\\’ 匹配 "\" 而 "\(" 则匹配 "("。
^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 ‘\n’ 或 ‘\r’ 之后的位置。
$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 ‘\n’ 或 ‘\r’ 之前的位置。
* 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。
+ 匹配前面的子表达式一次或多次。例如,’zo+’ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。
{n} n 是一个非负整数。匹配确定的 n 次。例如,’o{2}’ 不能匹配 "Bob" 中的 ‘o’,但是能匹配 "food" 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,’o{2,}’ 不能匹配 "Bob" 中的 ‘o’,但能匹配 "foooood" 中的所有 o。’o{1,}’ 等价于 ‘o+’。’o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o{1,3}" 将匹配 "fooooood" 中的前三个 o。’o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",’o+?’ 将匹配单个 "o",而 ‘o+’ 将匹配所有 ‘o’。
. 匹配除 "\n" 之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用象 ‘[.\n]’ 的模式。
(pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 ‘\(‘ 或 ‘\)’。
(?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, ‘industr(?:y|ies) 就是一个比 ‘industry|industries’ 更简略的表达式。
(?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,’Windows (?=95|98|NT|2000)’ 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
(?!pattern) 负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如’Windows (?!95|98|NT|2000)’ 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
x|y 匹配 x 或 y。例如,’z|food’ 能匹配 "z" 或 "food"。'(z|f)ood’ 则匹配 "zood" 或 "food"。
[xyz] 字符集合。匹配所包含的任意一个字符。例如, ‘[abc]’ 可以匹配 "plain" 中的 ‘a’。
[^xyz] 负值字符集合。匹配未包含的任意字符。例如, ‘[^abc]’ 可以匹配 "plain" 中的’p’。
[a-z] 字符范围。匹配指定范围内的任意字符。例如,'[a-z]’ 可以匹配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符。
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]’ 可以匹配任何不在 ‘a’ 到 ‘z’ 范围内的任意字符。
\b 匹配一个单词边界,也就是指单词和空格间的位置。例如, ‘er\b’ 可以匹配"never" 中的 ‘er’,但不能匹配 "verb" 中的 ‘er’。“\b”匹配的只是一个位置,这个位置的一侧是构成单词的字符,另一侧为非单词字符、字符串的开始或结束位置。“\b”是零宽度的。通常情况下,正则表达式中所谓的“单词”,就是由“\w”所定义的字符所组成的子串。“\b”表示所在位置的一侧为单词字符,另一侧为非单词字符、字符串的开始或结束位置,也就相当于:(?<!\w)(?=\w)|(?<=\w)(?!\w)。思考该写法为什么不等价于“\b”:(?<=\W)(?=\w)|(?<=\w)(?=\W)。
\B 匹配非单词边界。’er\B’ 能匹配 "verb" 中的 ‘er’,但不能匹配 "never" 中的 ‘er’。
\cx 匹配由 x 指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 ‘c’ 字符。
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]’。
\W 匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]’。
\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,’\x41′ 匹配 "A"。’\x041′ 则等价于 ‘\x04’ & "1"。正则表达式中可以使用 ASCII 编码。.
\num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1′ 匹配两个连续的相同字符。
\n 标识一个八进制转义值或一个向后引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为向后引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。
\nm 标识一个八进制转义值或一个向后引用。如果 \nm 之前至少有 nm 个获得子表达式,则 nm 为向后引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的向后引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
\nml 如果 n 为八进制数字 (0-3),且 m 和 l 均为八进制数字 (0-7),则匹配八进制转义值 nml。
\un 匹配 n,其中 n 是一个用四个十六进制数字表示的 Unicode 字符。例如, \u00A9 匹配版权符号 (?)。

匹配中文字符之正则表达式: [u4e00-u9fa5]
评注:匹配国语还确实是个头疼的从,有了这表达式就哼惩治了

1、匹配img标签

配合双配节约字符(包括汉字在内):[^x00-xff]
评注:可以用来计量字符串的长(一个双字节字符长度计2,ASCII字符计1)

正则表达式:

相当配空白行的正则表达式:ns*r
评注:可以用来删除空白行

<img[^>]+src\s*=\s*['\"]([^'\"]+)['\"][^>]*/>

匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*?
/>
评注:网上传的版本太糟糕,上面是啊仅能配合有,对于复杂的嵌套标记依旧无法

相当用例:

相当配首尾空白字符的正则表达式:^s*|s*$
评注:可以据此来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有效之表达式

<img width="1359" height="768" style="width:443px;height:234px;" alt="图片 1" src="1323" />

<img alt="图片 2" src="123" />

<!DOCTYPE html><html>
<head><meta http-equiv="content-type" content="text/html;charset=UTF-8">
<script src='jquery.js'></script>
<script src='rangy-core.js'></script>
<script src='rangy-serializer.js'></script><script src='android.selection.js'></script>
</head>
<body>
<p>     
<img width="1359" height="767" style="width:431px;height:414px;" alt="图片 3" src="20160302102754_2946.png"/> 
</p> 
<p>   56545 </p>
</body>
</html>

<input id="" type="button" />
<script src="" id="" />

匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用

其中,<img width=”1359″ height=”768″
style=”width:443px;height:234px;” alt=”” src=”1323″ />、

<img alt=”” src=”123″ />和<img width=”1359″ height=”767″
style=”width:431px;height:414px;” alt=””
src=”20160302102754_2946.png”/>被匹配。

配合网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的本效果十分单薄,上面这核心可满足急需

2、匹配ip和port形式的url

相当帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时老实用

正则表达式:

配合国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式而 0511-4405222 或 021-87888822

http://\d{2,3}([.]\d{1,3}){3}:\d{2,5}/  

配合配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始

相当用例:

匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6号数字

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8">
  <script src='jquery.js'></script><script src='rangy-core.js'></script>
  <script src='rangy-serializer.js'></script><script src='android.selection.js'></script>
</head>
<body><div style='width:auto;height:auto;'><p><br> 
<img alt="图片 4" src="http://www.baidu.com/20160315111911_3998.jpeg" /><br></p><br>
<p><br> As heavy fighting continues in eastern Ukraine the latest efforts to end the violence have failed. <br><br>The representative for Ukraine at the talks in Belarus told journalists that there had been no agreement because the pro-Russian separatists refused to discuss a ceasefire. Earlier the Russian government said President Putin had discussed the crisis in a phone call with his French counterpart Francois Hollande and the German Chancellor Angela Merkel.
<img alt="图片 5" src="http://123.12.23.34:8022/20160315111924_9155.jpeg"><br></p><br><p><br> As heavy fighting continues in eastern Ukraine the latest efforts to end the violence have failed. <br><br>The representative for Ukraine at the talks in Belarus told journalists that there had been no agreement because the pro-Russian separatists refused to discuss a ceasefire. Earlier the Russian government said President Putin had discussed the crisis in a phone call with his French counterpart Francois Hollande and the German Chancellor Angela Merkel.<img alt="图片 6" src="http://123.12.23.34:8022/20160315111936_6811.jpeg"><br></p><br><p><br> As heavy fighting continues in eastern Ukraine the latest efforts to end the violence have failed. <br><br>The representative for Ukraine at the talks in Belarus told journalists that there had been no agreement because the pro-Russian separatists refused to discuss a ceasefire. Earlier the Russian government said President Putin had discussed the crisis in a phone call with his French counterpart Francois Hollande and the German Chancellor Angela Merkel.<br></p><br><p><br>  <br></p></div>
<div id='get_page_height'></div>
</body>
</html>

相当身份证:d{15}|d{18}
评注:中国之身份证啊15各或18个

其中,字串”http://123.12.23.34:8022/"和"http://123.12.23.34:8022/"可被匹配,字串"http://www.baidu.com/"不能被匹配。

匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用

3、匹配html字符串中的图样

配合特定数字:
^[1-9]d*$    //匹配正整数
^-[1-9]d*$   //匹配负整数
^-?[1-9]d*$   //匹配整数
^[1-9]d*|0$  //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$   //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   //匹配非负浮点数(正浮点数

正则表达式:

  • 0)
    ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数
  • 0)
    评注:处理大量数时有用,具体应用时只顾修正
<img[\r\n.0-9a-z=" _-]*src="[h|t|p|s]+:\/\/[^\s]*"[\r\n.0-9a-z=" _-]*\/>

相当特定字符串:
^[A-Za-z]+$  //匹配由26单英文字母组成的字符串
^[A-Z]+$  //匹配由26只英文字母的十分写组成的字符串
^[a-z]+$  //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$  //匹配由数字与26独英文字母组成的字符串
^w+$  //匹配由数字、26单英文字母或者下划线组成的字符串

4、匹配英文单词

当行使RegularExpressionValidator验证控件时之辨证功能及其说明表达式介绍如下:

无独有偶则发表时:

只有能够输入数字:“^[0-9]*$”
只是会输入n位的数字:“^d{n}$”
单纯会输入至少n位数字:“^d{n,}$”
惟有会输入m-n位的数字:“^d{m,n}$”
独能够输入零及未零始发的数字:“^(0|[1-9][0-9]*)$”
就会输入有星星点点员小数的正实数:“^[0-9]+(.[0-9]{2})?$”
但会输入有1-3号小数的正实数:“^[0-9]+(.[0-9]{1,3})?$”
特能够输入非零的正整数:“^+?[1-9][0-9]*$”
单单会输入非零的负整数:“^-[1-9][0-9]*$”
不过会输入长度也3底字符:“^.{3}$”
单独会输入由26单英文字母组成的字符串:“^[A-Za-z]+$”
唯有会输入由26独大写英文字母组成的字符串:“^[A-Z]+$”
只是能够输入由26单稍写英文字母组成的字符串:“^[a-z]+$”
一味能够输入由数字与26个英文字母组成的字符串:“^[A-Za-z0-9]+$”
单会输入由数字、26独英文字母或者下划线组成的字符串:“^w+$”
征用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18之间,

\d+.\d+|\w+  

唯其如此分包字符、数字和下划线。
证明是否带有^%&’,;=?$”等字符:“[^%&’,;=?$x22]+”
单单会输入汉字:“^[u4e00-u9fa5],{0,}$”
验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$”
验证InternetURL:“^http://(\[w-\]+.)+\[w-\]+(/\[w-./?%&=\]\*)?$”
征电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$”

5、匹配正数(整数和小数)

是格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”,

/^[0-9]+([.]{1}[0-9]+){0,1}$/

“XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。
证实身份证号(15各类或18各类数字):“^d{15}|d{}18$”
证一年之12个月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12”
证一个月份之31上:“^((0?[1-9])|((1|2)[0-9])|30|31)$”

6、匹配正整数

毋庸置疑格式为:“01”“09”和“1”“31”。

/^[0-9]*$/

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双许节约字符(包括汉字在内):[^x00-xff]
配合空行的正则表达式:n[s| ]*r
匹配HTML标记的正则表达式:/< (.*)>.*|< (.*) />/
配合首尾空格的正则表达式:(^s*)|(s*$)
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址URL的正则表达式:http://(\[w-\]+.)+\[w-\]+(/\[w- ./?%&=]*)?

 7、匹配中文汉字的正则表达式介绍

(1)应用:计算字符串的尺寸(一个双字节字符长度计2,ASCII字符计1)
String.prototype.len=function(){return
this.replace([^x00-xff]/g,”aa”).length;}

配合汉语: [\u4e00-\u9fa5]

(2)应用:javascript中无如vbscript那样的trim函数,我们虽好采取是表达式来落实
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, “”);
}
(3)应用:利用正则表达式分解同转换IP地址
function IP2V(ip) //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!”)
}
}
(4)应用:从URL地址被领取文件称之javascript程序
s=”http://www.9499.net/page1.htm”;
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) ; //Page1.htm
(5)应用:利用正则表达式限制网页表单里的文本框输入内容
用正则表达式限制只能输入中文:onkeyup=”value=”/blog/value.replace(/[“^u4E00-u9FA5]/g,”)

onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^u4E00-u9FA5]/g,”))”
于是正则表达式限制只能输入全角字符:
onkeyup=”value=”/blog/value.replace(/[“^uFF00-uFFFF]/g,”) ”
onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^uFF00-uFFFF]/g,”))”
为此正则表达式限制只能输入数字:onkeyup=”value=”/blog/value.replace(/[“^d]/g,”)
“onbeforepaste=
“clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”))”
所以正则表达式限制只能输入数字和英文:onkeyup=”value=”/blog/value.replace(/[W]/g,””)
“onbeforepaste=”clipboardData.setData(’text’,clipboardData.getData(’text’).replace(/[^d]/g,”

英文字母: [a-zA-Z]

<<<<<<<<<<<<<<<<<新增>>>>>>>>>>>>>>>>>>>>

数字: [0-9]

一个正则表达式,只含有汉字、数字、字母、下划线,下划线位置不限 
1、一个正则表达式,只包含汉字、数字、字母、下划线不克以下划线开头和最后:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  其中:
^  同字符串开始之地方匹配
(?!_)  不能以_开头
(?!.*?_$)  不能以_结尾
[a-zA-Z0-9_\u4e00-\u9fa5]+  至少一个字、数字、字母、下划线
$  以及字符串结束之地方匹配

配合汉语,英文字母和数字和_:  ^[\u4e00-\u9fa5_a-zA-Z0-9]+$

居程序里前面加@,否则要\\展开转义
@”^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$”
 (或者:@”^(?!_)\w*(?<!_)$”    或者  @”
^[\u4E00-\u9FA50-9a-zA-Z_]+$ ”  )

并且判断输入长度:

2、只含汉字、数字、字母、下划线,下划线位置不限:
  ^[a-zA-Z0-9_\u4e00-\u9fa5]+$

[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}

3、由数字、26单英文字母或者下划线组成的字符串
^\w+$

^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$

4、2~4个汉字
  @”^[\u4E00-\u9FA5]{2,4}$”;

 

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

1)、一个正则表达式,只含汉字、数字、字母、下划线不可知以下划线开头和最后:

用:(Abc)+    来分析:  XYZAbcAbcAbcXYZAbcAb

^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:

XYZAbcAbcAbcXYZAbcAb
6、
[^\u4E00-\u9FA50-9a-zA-Z_]
34555#5′ –>34555#5′

^    与字符串开始的地方匹配

[\u4E00-\u9FA50-9a-zA-Z_]    eiieng_89_   —>  
eiieng_89_
_’;’eiieng_88&*9_    –>  _’;’eiieng_88&*9_
_’;’eiieng_88_&*9_  –>  _’;’eiieng_88_&*9_

(?!_)    不能以_开头

public  bool RegexName(string str)
  {
   bool flag=Regex.IsMatch(str,@”^[a-zA-Z0-9_\u4e00-\u9fa5]+$”);
   return  flag;
  }

(?!.*?_$)   不能以_结尾

 Regex   reg=new   Regex(“^[a-zA-Z_0-9]+$”);   
  if(reg.IsMatch(s))   
  {   
  \\称规则   
  }   
  else   
  {   
  \\留存非法字符   
  }

[a-zA-Z0-9_\u4e00-\u9fa5]+  至少一个汉字、数字、字母、下划线

$ 以及字符串结束的地方匹配

居程序里前面加@,否则要\\进展转义
@”^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$”

(或者:@”^(?!_)\w*(?<!_)$” 或者 @”
^[\u4E00-\u9FA50-9a-zA-Z_]+$ ” )

2)、只包含汉字、数字、字母、下划线,下划线位置不限:

^[a-zA-Z0-9_\u4e00-\u9fa5]+$

3)、由数字、26只英文字母或者下划线组成的字符串

^\w+$

4)、2~4个汉字

@”^[\u4E00-\u9FA5]{2,4}$”;

8、常用正则表达式大全!(例如:匹配汉语、匹配html)

  匹配中文字符的正则表达式: [u4e00-u9fa5] 

  评注:匹配国语还真是个头疼的从业,有了是表达式就好惩治了 

  匹配双许节约字符(包括汉字在内):[^x00-xff] 

  评注:可以用来计量字符串的长(一个双字节字符长度计2,ASCII字符计1) 

  匹配空白行的正则表达式:ns*r 

  评注:可以就此来删除空白行 

  匹配HTML标记的正则表达式:<(S*?)[^>]*>.*?|<.*?
/> 

  评注:网上传的版太不好,上面这为才能够匹配有,对于复杂的嵌套标记依旧无能为力 

  匹配首尾空白字符的正则表达式:^s*|s*$ 

  评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常实惠之表述式 

  匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 

  评注:表单验证时充分实用 

  匹配网址URL的正则表达式:[a-zA-z]+://[^s]* 

  评注:网上流传的本子效果十分简单,上面是中心好满足需求 

  匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 

  评注:表单验证时死实用 

  匹配国内电话号码:d{3}-d{8}|d{4}-d{7} 

  评注:匹配形式而 0511-4405222 或 021-87888822 

  匹配腾讯QQ号:[1-9][0-9]{4,} 

  评注:腾讯QQ号从10000开始 

  匹配中国邮政编码:[1-9]d{5}(?!d) 

  评注:中国邮政编码为6个数字 

  匹配身份证:d{15}|d{18} 

  评注:中国底身份证也15号还是18各类 

  匹配ip地址:d+.d+.d+.d+ 

  评注:提取ip地址时有用 

  匹配特定数字: 

  ^[1-9]d*$    //匹配正整数 
  ^-[1-9]d*$   //匹配负整数 
  ^-?[1-9]d*$   //匹配整数 
  ^[1-9]d*|0$  //匹配非负整数(正整数 + 0) 
  ^-[1-9]d*|0$   //匹配非正整数(负整数 + 0) 
  ^[1-9]d*.d*|0.d*[1-9]d*$   //匹配正浮点数 
  ^-([1-9]d*.d*|0.d*[1-9]d*)$  //匹配负浮点数 
  ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  //匹配浮点数 
  ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$  
//匹配非负浮点数(正浮点数 + 0) 
  ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  //匹配非正浮点数(负浮点数

  • 0) 

  评注:处理大量数额时有用,具体行使时只顾修正 

  匹配特定字符串: 

  ^[A-Za-z]+$  //匹配由26单英文字母组成的字符串 
  ^[A-Z]+$    //匹配由26独英文字母的死去活来写组成的字符串 
  ^[a-z]+$    //匹配由26单英文字母的略写组成的字符串 
  ^[A-Za-z0-9]+$  //匹配由数字和26独英文字母组成的字符串 
  ^w+$      //匹配由数字、26单英文字母或者下划线组成的字符串 

  于以RegularExpressionValidator验证控件时的验证功能及其说明表达式介绍如下: 

  只能输入数字:“^[0-9]*$” 

  只能输入n位的数字:“^d{n}$” 

  只能输入至少n位数字:“^d{n,}$” 

  只能输入m-n位的数字:“^d{m,n}$” 

  只能输入零以及未零始发的数字:“^(0|[1-9][0-9]*)$” 

  只能输入有一定量个小数的正实数:“^[0-9]+(.[0-9]{2})?$” 

  只能输入有1-3位小数的正实数:“^[0-9]+(.[0-9]{1,3})?$” 

  只能输入非零的正整数:“^+?[1-9][0-9]*$” 

  只能输入非零的负整数:“^-[1-9][0-9]*$” 

  只能输入长度为3的字符:“^.{3}$” 

  只能输入由26单英文字母组成的字符串:“^[A-Za-z]+$” 

  只能输入由26独大写英文字母组成的字符串:“^[A-Z]+$” 

  只能输入由26只小写英文字母组成的字符串:“^[a-z]+$” 

  只能输入由数字和26单英文字母组成的字符串:“^[A-Za-z0-9]+$” 

  只能输入由数字、26个英文字母或者下划线组成的字符串:“^w+$” 

  验证用户密码:“^[a-zA-Z]w{5,17}$”正确格式为:以字母开头,长度在6-18里边, 

  只能分包字符、数字和下划线。 

  验证是否包含^%&’,;=?$”等字符:“[^%&’,;=?$x22]+” 

  只能输入汉字:“^[u4e00-u9fa5],{0,}$” 

  验证Email地址:“^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$” 

  验证InternetURL:“^http://(\[w-\]+.)+\[w-\]+(/\[w-./?%&=\]\*)?$” 

  验证电话号码:“^((d{3,4})|d{3,4}-)?d{7,8}$” 

  正确格式为:“XXXX-XXXXXXX”,“XXXX-XXXXXXXX”,“XXX-XXXXXXX”, 

  “XXX-XXXXXXXX”,“XXXXXXX”,“XXXXXXXX”。 

  验证身份证号(15号还是18各类数字):“^d{15}|d{}18$” 

  验证一年的12单月:“^(0?[1-9]|1[0-2])$”正确格式为:“01”-“09”和“1”“12” 

  验证一个月份之31上:“^((0?[1-9])|((1|2)[0-9])|30|31)$” 

  正确格式为:“01”“09”和“1”“31”。 

  匹配中文字符的正则表达式: [u4e00-u9fa5] 

  匹配双字节约字符(包括汉字在内):[^x00-xff] 

  匹配空行的正则表达式:n[s| ]*r 

  匹配HTML标记的正则表达式:/<(.*)>.*|<(.*) />/ 

  匹配首尾空格的正则表达式:(^s*)|(s*$) 

  匹配Email地址之正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 

  匹配网址URL的正则表达式:http://(\[w-\]+.)+\[w-\]+(/\[w-
./?%&=]*)? 

 

  参考连接:http://www.jb51.net/article/98373.htm

9、将许词间的基本上独空格(2个或2个以上)替换为一个空格

str.replace(/\s+/g, ' ');

\s: space, 空格
+: 一个要多只
^: 开始,^\s,以空格开始
$: 结束,\s$,以空格结束
|:或者
/g:global, 全局

……