原文地址:正常正則表達式(不允許為空)
作者:樂活
[size
=
12px]
1
。
^
d
+
$
//
匹配非負整數(正整數 + 0)
2 。 ^ [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $ // 匹配正整數
3 。 ^ (( - d + ) | ( 0 + ))$ // 匹配非正整數(負整數 + 0)
4 。 ^- [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $ // 匹配負整數
5 。 ^-? d + $ // 匹配整數
6 。 ^ d + (.d + ) ? $ // 匹配非負浮點數(正浮點數 + 0)
7 。 ^ (([ 0 - 9 ] + .[ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * .[ 0 - 9 ] + ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ))$ // 匹配正浮點數
8 。 ^ (( - d + (.d + ) ? ) | ( 0 + (. 0 + ) ? ))$ // 匹配非正浮點數(負浮點數 + 0)
9 。 ^ ( - (([ 0 - 9 ] + .[ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * .[ 0 - 9 ] + ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * )))$ // 匹配負浮點數
10 。 ^ ( -? d + )(.d + ) ? $ // 匹配浮點數
11 。 ^ [A - Za - z] + $ // 匹配由26個英文字母組成的字符串
12 。 ^ [A - Z] + $ // 匹配由26個英文字母的大寫組成的字符串
13 。 ^ [a - z] + $ // 匹配由26個英文字母的小寫組成的字符串
14 。 ^ [A - Za - z0 - 9 ] + $ // 匹配由數字和26個英文字母組成的字符串
15 。 ^ w + $ // 匹配由數字、26個英文字母或者下划線組成的字符串
16 。 ^ [w - ] + (.[w - ] + ) * @[w - ] + (.[w - ] + ) + $ // 匹配email地址
17 。 ^ [a - zA - z] + : // 匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ // 匹配 url
18 。匹配中文字符的正則表達式: [u4e00 - u9fa5]
19 。匹配雙字節字符(包括漢字在內):[ ^ x00 - xff]
20 。應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
String.prototype.len = function(){ return this .replace([ ^ x00 - xff] / g, " aa " ).length;}
21 。匹配空行的正則表達式:n[s | ] * r
22 。匹配HTML標記的正則表達式: /< (. * ) > . *< / 1 >|< (. * ) />/
23 。匹配首尾空格的正則表達式:( ^ s * ) | (s * $)
* 正則表達式用例
*
1
、
^
S
+
[a
-
z A
-
Z]$ 不能為空 不能有空格 只能是英文字母
*
2
、S{
6
,} 不能為空 六位以上
*
3
、
^
d
+
$ 不能有空格 不能非數字
*
4
、(.
*
)(.jpg
|
.bmp)$ 只能是jpg和bmp格式
*
5
、
^
d{
4
}
-
d{
1
,
2
}
-
d{
1
,
2
}$ 只能是2004
-
10
-
22格式
*
6
、
^
0
$ 至少選一項
*
7
、
^
0
{
2
,}$ 至少選兩項
*
8
、
^
[s
|
S]{
20
,}$ 不能為空 二十字以上
*
9
、
^
+?
[a
-
z0
-
9
](([
-+
.]
|
[_]
+
)
?
[a
-
z0
-
9
]
+
)
*
@([a
-
z0
-
9
]
+
(.
|
-
))
+
[a
-
z]{
2
,
6
}$郵件
*
10
、w
+
([
-+
.]w
+
)
*
@w
+
([
-
.]w
+
)
*
.w
+
([
-
.]w
+
)
*
([,;]s
*
w
+
([
-+
.]w
+
)
*
@w
+
([
-
.]w
+
)
*
.w
+
([
-
.]w
+
)
*
)
*
輸入多個地址用逗號或空格分隔郵件
*
11
、
^
(([
0
-
9
]
+
))
?
[
0
-
9
]{
7
,
8
}$電話號碼7位或8位或前面有區號例如(
022
)
87341628
*
12
、
^
[a
-
z A
-
Z
0
-
9
_]
+
@[a
-
z A
-
Z
0
-
9
_]
+
(.[a
-
z A
-
Z
0
-
9
_]
+
)
+
(,[a
-
z A
-
Z
0
-
9
_]
+
@[a
-
z A
-
Z
0
-
9
_]
+
(.[a
-
z A
-
Z
0
-
9
_]
+
)
+
)
*
$
*
只能是字母、數字、下划線;必須有@和.同時格式要規范 郵件
*
13
^
w
+
@w
+
(.w
+
)
+
(,w
+
@w
+
(.w
+
)
+
)
*
$上面表達式也可以寫成這樣子,更精練。
14
^
w
+
((
-
w
+
)
|
(.w
+
))
*
@w
+
((.
|-
)w
+
)
*
.w
+
$ [
/
size]
2 。 ^ [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $ // 匹配正整數
3 。 ^ (( - d + ) | ( 0 + ))$ // 匹配非正整數(負整數 + 0)
4 。 ^- [ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * $ // 匹配負整數
5 。 ^-? d + $ // 匹配整數
6 。 ^ d + (.d + ) ? $ // 匹配非負浮點數(正浮點數 + 0)
7 。 ^ (([ 0 - 9 ] + .[ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * .[ 0 - 9 ] + ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ))$ // 匹配正浮點數
8 。 ^ (( - d + (.d + ) ? ) | ( 0 + (. 0 + ) ? ))$ // 匹配非正浮點數(負浮點數 + 0)
9 。 ^ ( - (([ 0 - 9 ] + .[ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * .[ 0 - 9 ] + ) | ([ 0 - 9 ] * [ 1 - 9 ][ 0 - 9 ] * )))$ // 匹配負浮點數
10 。 ^ ( -? d + )(.d + ) ? $ // 匹配浮點數
11 。 ^ [A - Za - z] + $ // 匹配由26個英文字母組成的字符串
12 。 ^ [A - Z] + $ // 匹配由26個英文字母的大寫組成的字符串
13 。 ^ [a - z] + $ // 匹配由26個英文字母的小寫組成的字符串
14 。 ^ [A - Za - z0 - 9 ] + $ // 匹配由數字和26個英文字母組成的字符串
15 。 ^ w + $ // 匹配由數字、26個英文字母或者下划線組成的字符串
16 。 ^ [w - ] + (.[w - ] + ) * @[w - ] + (.[w - ] + ) + $ // 匹配email地址
17 。 ^ [a - zA - z] + : // 匹配(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ // 匹配 url
18 。匹配中文字符的正則表達式: [u4e00 - u9fa5]
19 。匹配雙字節字符(包括漢字在內):[ ^ x00 - xff]
20 。應用:計算字符串的長度(一個雙字節字符長度計2,ASCII字符計1)
String.prototype.len = function(){ return this .replace([ ^ x00 - xff] / g, " aa " ).length;}
21 。匹配空行的正則表達式:n[s | ] * r
22 。匹配HTML標記的正則表達式: /< (. * ) > . *< / 1 >|< (. * ) />/
23 。匹配首尾空格的正則表達式:( ^ s * ) | (s * $)
* 正則表達式用例
