第1章 正則表達式概述 3
1.1 什麽是正則表達式 3
1.2 第壹個正則表達式 4
1.3 測試工具 5
第2章 正則表達式基礎理論 7
2.1 元字符 7
2.1.1 匹配位置的元字符 8
2.1.2 匹配字符的元字符 8
2.1.3 元字符總結 9
2.2 字符類 12
2.3 字符轉義 14
2.4 反義 14
2.5 限定符 15
2.6 替換 21
2.7 分組 23
2.8 後向引用 24
2.9 零寬度斷言 25
2.10 負向零寬度斷言 27
2.11 匹配選項 27
2.12 註釋 28
2.13 優先級順序 28
2.14 遞歸匹配 29
2.15 典型正則表達式解釋 30
第3章 數字驗證 33
3.1 數值驗證 33
3.1.1 只包含數字 33
3.1.2 整數驗證 37
3.1.3 指定範圍的整數驗證 38
3.1.4 實數驗證 42
3.1.5 指定精度的實數驗證 45
3.1.6 科學計數法的數值驗證 45
3.1.7 二進制數值驗證 46
3.1.8 八進制數值驗證 47
3.1.9 十六進制數值驗證 49
3.2 電話號碼驗證 50
3.2.1 手機號碼驗證 50
3.2.2 固定電話號碼(不包括區號)驗證 51
3.2.3 “區號+固定電話號碼”驗證 53
3.2.4 “區號+固定電話號碼+分機號碼”驗證 54
3.2.5 固定電話號碼驗證總結 55
3.3 郵政編碼驗證 57
3.3.1 國內郵政編碼驗證 57
3.3.2 國際郵政編碼驗證 57
3.4 IP地址驗證 58
3.4.1 簡單IP地址驗證 58
3.4.2 精確IP地址驗證 59
3.4.3 子網內部IP地址驗證 60
3.4.4 64位IP地址驗證 61
3.5 身份證驗證 63
3.5.1 15位身份證號碼驗證 63
3.5.2 18位身份證號碼驗證 64
3.6 銀行卡號驗證 65
3.6.1 銀行卡號驗證 65
3.6.2 信用卡卡號驗證 65
3.6.3 中國建設銀行卡號驗證 66
3.6.4 中國工商銀行卡號驗證 66
3.6.5 中國農業銀行卡號驗證 66
第4章 字符串驗證 67
4.1 英文單詞驗證 67
4.1.1 小寫單詞驗證 67
4.1.2 大寫英文單詞驗證 68
4.1.3 英文單詞的分隔符驗證 69
4.1.4 不包含驗證 71
4.1.5 具有重復特征的英文單詞驗證 74
4.2 文件名稱和文件路徑驗證 76
4.2.1 通配符 76
4.2.2 指定文件擴展名的驗證 76
4.2.3 指定文件名的驗證 77
4.2.4 包含指定字符串的文件全名驗證 78
4.2.5 排除兩端存在空白字符的文件全名驗證 79
4.2.6 文件路徑驗證 81
4.3 網絡常用元素驗證 82
4.3.1 電子郵件驗證 82
4.3.2 主機名稱驗證 83
4.3.3 HTTP地址驗證 85
4.3.4 FTP地址驗證 86
4.4 非單詞字符串驗證 86
4.4.1 英文標點符號驗證 87
4.4.2 中文標點符號驗證 87
4.4.3 中文文本驗證 88
4.4.4 特殊字符驗證 88
4.4.5 密碼驗證 89
4.4.6 字符表的分類 93
第5章 數字和字符混合驗證 95
5.1 日期和時間驗證 95
5.1.1 年驗證 95
5.1.2 月驗證 96
5.1.3 日驗證 97
5.1.4 年月日格式的日期驗證 98
5.1.5 24小時制時分秒格式的時間驗證 99
5.1.6 12小時制時分秒格式的時間驗證 100
5.1.7 帶毫秒的時間驗證 102
5.1.8 長格式的日期和時間驗證 103
5.2 通用車牌號碼驗證 104
5.3 數學表達式驗證 106
5.3.1 操作數驗證 106
5.3.2 操作符驗證 107
5.3.3 簡單數學表達式驗證 107
5.3.4 只含操作數和操作符的數學表達式驗證 108
5.3.5 含小括號的數學表達式驗證 109
5.4 編碼規範驗證 111
5.4.1 類名稱驗證 111
5.4.2 聲明變量表達式驗證 112
5.4.3 函數名稱驗證 112
5.4.4 聲明函數表達式驗證 113
第6章 驗證和處理HTML元素 117
6.1 HTML元素驗證基礎 117
6.1.1 HTML標記驗證 117
6.1.2 非封閉HTML標記驗證 119
6.1.3 封閉HTML標記驗證 119
6.1.4 屬性賦值表達式驗證 120
6.1.5 HTML中的註釋驗證 124
6.1.6 HTML中的腳本代碼塊驗證 125
6.2 非封閉的HTML元素驗證 126
6.3 封閉的HTML元素驗證 127
6.4 br 元素驗證 128
6.5 hr 元素驗證 130
6.6 a 元素驗證 133
6.7 input 元素驗證 137
6.8 處理HTML元素 139
6.8.1 提取HTML標記 139
6.8.2 提取HTML標記之間的內容 140
6.8.3 提取URL 141
6.8.4 提取圖像的URL 142
6.8.5 提取HTML頁面的標題 142 第7章 C#常用數據類型檢查與轉換 147
7.1 數值數據類型檢查與轉換 147
7.1.1 整數檢查 147
7.1.2 實數檢查 149
7.1.3 整數和字符串之間的轉換 150
7.1.4 浮點數和字符串之間的轉換 151
7.2 布爾數據類型檢查與轉換 153
7.2.1 布爾值檢查 153
7.2.2 布爾值和字符串之間的轉換 153
7.3 時間數據類型檢查與轉換 154
7.3.1 時間數據類型檢查 154
7.3.2 時間和字符串之間的轉換 155
7.4 數據類型檢查與轉換應用實例 156
第8章 字符串處理 158
8.1 不變字符串String處理 158
8.1.1 String類和對象 158
8.1.2 插入字符串 159
8.1.3 刪除字符串 160
8.1.4 替換字符串 160
8.1.5 分割字符串 161
8.1.6 填充字符串 161
8.1.7 比較字符串 162
8.1.8 連接字符串 163
8.1.9 處理字符串中的空白 165
8.1.10 轉換字符串大小寫 165
8.1.11 匹配和檢索字符串 166
8.1.12 獲取子字符串 168
8.1.13 格式化字符串 169
8.1.14 編碼字符串 169
8.1.15 不可變字符串String處理的應用 170
8.2 可變字符串StringBuilder處理 172
8.2.1 StringBuilder類和對象 172
8.2.2 追加字符串 172
8.2.3 插入字符串 174
8.2.4 刪除字符串 176
8.2.5 替換字符串 176
8.2.6 復制字符串 177
8.2.7 處理字符串容量 178
8.2.8 可變字符串StringBuilder處理的應用 179
第9章 .NET框架中正則表達式的應用 181
9.1 .NET框架中的正則表達式類庫 181
9.1.1 System.Text.RegularExpressions名字空間 181
9.1.2 正則表達式類Regex 182
9.1.3 正則表達式選項 183
9.1.4 檢查是否匹配表達式 183
9.1.5 匹配單個匹配項 185
9.1.6 匹配多個匹配項 186
9.1.7 替換 188
9.1.8 使用委托MatchEvaluator處理匹配結果 189
9.1.9 獲取分組名稱 190
9.1.10 分割表達式 190
9.2 使用正則表達式類Regex處理字符串 191
9.2.1 只包含數字驗證 191
9.2.2 整數驗證 191
9.2.3 實數驗證 192
9.2.4 電話號碼驗證 192
9.2.5 郵政編碼驗證 192
9.2.6 身份證號碼驗證 192
9.2.7 銀行卡號驗證 193
9.2.8 日期和時間驗證 193
9.2.9 車牌號碼驗證 193
9.2.10 IP地址驗證 194
9.2.11 電子郵件驗證 194
9.2.12 URL驗證 194
9.2.13 提取網頁標題 194
9.2.14 提取網頁中的HTTP地址 196
9.2.15 提取網頁中的圖像地址 197
第10章 數據驗證 199
10.1 驗證概述 199
10.2 非空驗證 201
10.2.1 無初始值的非空驗證 201
10.2.2 指定初始值的驗證 202
10.3 範圍驗證 203
10.3.1 整數範圍驗證 203
10.3.2 字母範圍驗證 204
10.3.3 日期範圍驗證 205
10.4 比較驗證 206
10.4.1 兩個控件內容的比較驗證 206
10.4.2 指定的值和控件內容的比較驗證 207
10.4.3 檢查控件內容的數據類型 208
10.5 正則表達式驗證 209
10.5.1 整數驗證 209
10.5.2 數值驗證 210
10.5.3 電話號碼驗證 211
10.5.4 身份證號碼驗證 212
10.5.5 日期和時間驗證 213
10.5.6 電子郵件驗證 214
10.5.7 URL驗證 215
10.6 自定義驗證 217
10.6.1 自定義服務器端驗證 217
10.6.2 自定義客戶端驗證 218
10.7 顯示驗證摘要 219
10.7.1 在網頁上顯示驗證摘要 220
10.7.2 在對話框上顯示驗證摘要 220 第11章 ASP數據類型及其轉換 225
11.1 VBScript數據類型 225
11.2 VBScript數據類型判斷 226
11.2.1 判斷變量是否為數組 226
11.2.2 判斷變量是否為日期 227
11.2.3 判斷變量是否為空 228
11.2.4 判斷變量是否為空值 228
11.2.5 判斷變量是否為數值 229
11.2.6 判斷變量是否為對象 230
11.2.7 獲取變量的子類型 231
11.2.8 獲取變量的類型信息 231
第12章 ASP字符串處理 233
12.1 字符串截取、組合 233
12.1.1 獲取字符串長度 233
12.1.2 正向截取字符串 234
12.1.3 反向截取字符串 234
12.1.4 從中截取字符串 235
12.1.5 刪除字符串前導空格 236
12.1.6 刪除字符串後導空格 236
12.1.7 刪除字符串前後導空格 237
12.1.8 將數組元素連接為字符串 238
12.1.9 切分字符串 238
12.2 字符串查找、替換 239
12.2.1 正向查找字符串 239
12.2.2 反向查找字符串 241
12.2.3 字符串替換 242
12.3 字符串轉化 243
12.3.1 字符串小寫轉化 243
12.3.2 字符串大寫轉化 244
12.3.3 字符串倒序排列 245
12.3.4 構造指定元素的字符串 246
12.3.5 構造空格字符串 247
第13章 ASP中正則表達式的應用 248
13.1 正則表達式對象RegExp概述 248
13.1.1 創建正則表達式對象 248
13.1.2 指定正則表達式 248
13.1.3 進行正則匹配檢驗 249
13.2 提高匹配效率 250
13.2.1 設置匹配範圍 250
13.2.2 指定忽略大小寫 250
13.2.3 進行正則匹配替換 251
13.3 匹配集合Matches 252
13.3.1 獲取Matches集合 252
13.3.2 Matches集合與Match對象 253 第14章 PHP數據類型及其轉換 259
14.1 PHP常見數據類型 259
14.1.1 布爾型 259
14.1.2 NULL型 260
14.1.3 整型 260
14.1.4 浮點型 260
14.1.5 字符串 260
14.1.6 數組 262
14.1.7 對象 263
14.2 類型轉換 264
14.2.1 變量類型變化 264
14.2.2 強制類型轉換 266
14.2.3 字符串轉換 268
14.2.4 數值轉換 269
14.2.5 數組轉換 269
第15章 PHP字符串處理 270
15.1 字符串分析 270
15.1.1 訪問字符串中的字符 270
15.1.2 處理子字符串 271
15.1.3 分割字符串 273
15.2 字符串的整理 275
15.2.1 刪除字符串的空白 275
15.2.2 字符串的填充 276
15.2.3 字符串大小寫的轉換 277
15.2.4 字符串的反轉 278
15.3 字符串的比較 278
15.3.1 按ASCII碼順序比較 278
15.3.2 按“自然排序”法比較 280
15.3.3 按相似性比較 281
15.4 字符串的查找和替換 282
15.4.1 查找字符串 282
15.4.2 替換字符串 283
15.5 字符串的格式化 286
15.5.1 格式化數字 286
15.5.2 格式化字符串 286
15.6 處理HTML和URL 288
15.6.1 HTML實體的處理 288
15.6.2 HTML標簽的清理 290
15.6.3 URL字符串的解析 291
15.6.4 URL編碼處理 293
15.6.5 查詢字符串的構造 293
第16章 PHP中正則表達式的應用 295
16.1 POSIX擴展庫正則表達式函數 295
16.1.1 模式匹配 295
16.1.2 模式替換 297
16.1.3 模式分割 297
16.2 PCRE庫的正則表達式函數 298
16.2.1 進行正則表達式匹配 298
16.2.2 取得正則表達式的全部匹配 299
16.2.3 返回與模式匹配的數組單元 300
16.2.4 正則表達式的替換 300
16.2.5 正則表達式的拆分 301
16.3 PHP與正則表達式的綜合應用 302
16.3.1 表單驗證 302
16.3.2 UBB代碼 306
16.3.3 分析Apache日誌文件 310 第17章 JSP中數據類型及其轉化 317
17.1 JSP中的常用數據類型 317
17.1.1 整數類型 317
17.1.2 浮點類型 320
17.1.3 字符類型 321
17.1.4 布爾類型 322
17.1.5 字符串類型 323
17.2 JSP中數據類型的轉換 325
17.2.1 自動類型轉換 325
17.2.2 強制類型轉換 326
17.3 JSP中字符串數據的處理 327
17.3.1 字符串與其他類型數據的轉換 327
17.3.2 字符串的分析 329
17.3.3 字符串的查找與替換 330
17.3.4 字符串數據的整理 332
17.3.5 字符串的比較 333
17.3.6 字符串的連接 334
17.3.7 字符串的格式化 335
第18章 JSP中正則表達式應用 337
18.1 JSP中的正則表達式函數 337
18.1.1 Pattern類 337
18.1.2 Matcher類 339
18.1.3 正則表達式常用的4種功能 342
18.2 JSP中正則表達式的常見應用示例 346
18.2.1 電子郵件地址的校驗 346
18.2.2 URL地址的校驗 348
18.2.3 電話號碼的校驗 349 第19章 JavaScript數據類型及其轉換 353
19.1 JavaScript數據類型 353
19.1.1 數字類型 353
19.1.2 字符串類型 354
19.1.3 布爾值類型 355
19.2 數據類型轉換 356
19.2.1 基本數據類型轉換 356
19.2.2 將字符串轉換為整數 356
19.2.3 將字符串轉換為浮點數 356
第20章 JavaScript字符串和數組 357
20.1 字符串格式處理 357
20.1.1 獲取字符串的長度 357
20.1.2 根據指定的Unicode編碼返回壹個字符串 358
20.1.3 比較兩個字符串的大小 358
20.1.4 將字符串分割並存儲到數組中 359
20.1.5 將字符串轉換為小寫格式 360
20.1.6 將字符串轉換為大寫格式 360
20.2 字符串截取、組合 361
20.2.1 返回字符串中指定位置處的字符 361
20.2.2 獲取指定位置字符的Unicode編碼 362
20.2.3 將壹個或多個字符串連接到當前字符串的末尾 364
20.2.4 從字符串中提取子串(1) 364
20.2.5 從字符串中提取子串(2) 365
20.2.6 從字符串中提取子串(3) 366
20.3 字符串查找、替換 367
20.3.1 獲取指定字符(串)第壹次在字符串中出現的位置 367
20.3.2 獲取指定字符(串)最後壹次在字符串中出現的位置 368
20.3.3 替換字符串中指定的內容 369
20.4 字符串HTML格式化 370
20.4.1 在字符串兩端加入錨點標誌 370
20.4.2 在指定字符串的兩端加上大字體標誌 370
20.4.3 在字符串的兩端加上粗體標誌 371
20.4.4 在字符串兩端加入斜體標簽 371
20.4.5 在字符串兩端加上固定寬度字體標記 372
20.4.6 設置字符串輸出時的前景色 373
20.4.7 設置字符串輸出時的字體大小 374
20.4.8 在字符串上加入超級鏈接 375
20.4.9 在字符串兩端加入小字體標記 375
20.4.10 在字符串兩端加入下劃線標記 376
20.4.11 在字符串兩端加入下標標簽 377
20.4.12 在字符串兩端加入上標標簽 378
20.5 Array對象的方法 378
20.5.1 連接其他數組到當前數組末尾 378
20.5.2 將數組元素連接為字符串 379
20.5.3 刪除數組中的最後壹個元素 380
20.5.4 將指定的數據添加到數組中 380
20.5.5 反序排列數組中的元素 381
20.5.6 刪除數組中的第壹個元素 382
20.5.7 獲取數組中的壹部分數據 382
20.5.8 對數組中的元素進行排序 383
20.5.9 刪除或替換數組中的部分數據 384
20.5.10 在數組前面插入數據 385
20.5.11 返回壹個包含數組中全部數據的字符串 386
第21章 JavaScript中正則表達式的應用 387
21.1 應用正則表達式對象RegExp 387
21.1.1 創建正則表達式 387
21.1.2 判斷字符串中是否存在匹配內容 388
21.1.3 對字符串進行匹配檢測 389
21.1.4 編譯正則表達式 389
21.1.5 替換字符串中的指定內容 390
21.2 匹配結果處理 391
21.2.1 獲取字符串中所有的匹配信息 391
21.2.2 獲取第壹次匹配的起始位置(1) 392
21.2.3 獲取第壹次匹配的起始位置(2) 393
21.2.4 獲取子匹配的結果 394
21.2.5 獲取與正則表達式進行匹配檢測的字符串 395
21.2.6 獲取匹配內容的最後壹個索引位置 395
21.2.7 獲取最近壹次匹配的內容 396
21.2.8 獲取最近壹次匹配的最後壹個子匹配 397
21.2.9 獲取匹配內容左側的字符信息 397
21.2.10 獲取匹配內容右側的字符信息 398