反饋已提交

網絡繁忙

正則運算式

1. 概述

1.1 應用場景

有時候我們需要用到正則運算式進行資訊的校驗。

例如有一張使用了「正文元件」的查詢報表,輸入「銷售員」姓名後可查詢銷售員的銷售情況,此時希望設定銷售員正文元件的填入資訊校驗內容為:若填入內容不是中文或中文的前後有空格,都認為是不合法的,如下圖所示:

1.2 書寫規範

正則運算式的書寫規則如下:

符號說明
l ^開始
l $結束
l \d任意一個數字,0~9 中的任意一個
l \w任意一個字母或數字或底線,也就是 A-Z,a-z,0-9 中任意一個
l \s 包括空格、列表符、換頁符等空白字元的其中任意一個
l .小數點可以匹配除了換行符(\n)以外的任意一個字元
{n}

表示重複 n 次,比如"\w{2}"相當於 "\w\w";"a{5}"相當於 "aaaaa"

{m,n}表示至少重複 m 次,最多重複n次,比如"ba{1,3}"可以匹配 "ba"或"baa"或"baaa"
{m,}表示至少重複 m 次,比如"\w\d{2,}"可以匹配 "a12","_456","M12344"
?

匹配運算式0次或者 1 次,相當於 {0,1},比如"a[cd]?"可以匹配 "a","ac","ad"

+運算式至少出現 1 次,相當於 {1,},比如"a+b"可以匹配 "ab","aab","aaab"
*運算式不出現或出現任意次,相當於 {0,},比如"\^*b"可以匹配 "b","^^^b"

1.3 注意事項

如果是在 JS 中使用正則運算式,則需要在正則運算式前後加“/”,如檢查手機號碼碼是否合法:/^1(3\d|5[36789])\d{8}$/

2. 操作步驟

2.1 報表設計

建立普通報表,建立範本資料集,使用內建 DEMO 「銷量」資料表,輸入 SQL 語句:SELECT * FROM 銷量 where 銷售員='${銷售員}',如下圖所示:

點選參數面板,將「銷售員」參數新增並設定為正文元件,然後新增查詢按鈕,或者直接點選「全部新增」,如下圖所示:

將欄位拖入儲存格中,設計報表如下圖所示:

2.2 設定元件填寫規則

在參數面板選中正文元件,在「屬性」欄設定填寫規則為「自訂」,輸入正則運算式:^[\u4e00-\u9fa5]+$,並輸入錯誤提示「輸入不合法」,如下圖所示:

公式說明:

公式說明
^匹配輸入字串的開始位置
[] 定義匹配的字元範圍
\u4e00-\u9fa5“\u4e00”和“\u9fa5”是unicode編碼,並且正好是中文編碼的開始和結束的兩個值,所以這個正則運算式可以用來判斷字串中是否包含中文。
+匹配前面的子運算式一次或多次(大於等於1次)

$

匹配輸入字串的結束位置

2.3 效果查看

儲存範本,點選分頁預覽,詳情參見本文 1.1 節。

3. 正則運算式範例

一些常用正則運算式舉例:

運算式目的運算式說明

檢查指定手機號碼是否合法

注:僅範例,校驗規則可根據你的實際情況書寫。

^1(3\d|5[36789])\d{8}$手機號碼共 11 位,第一位為 1,第二位為 3 或者 5,當第二位為 5 的時候,第三位只能是 36789 中的一個
檢查中文名是否合法

^[\u4e00-\u9fa5]+$

若不是中文或中文的前後有空格,都認為是不合法的
檢查 HTML 標記是否匹配<(.*)>.*<\/\1>|<(.*) \/>如若只出現<html>而無對應的</html>,則檢驗結果是 HTML 標記不匹配
 檢查 URL 格式是否合法[a-zA-z]+://[^\s]*URL合法格式應該以字母連結://開頭
檢查 IP 格式是否合法(\d+)\.(\d+)\.(\d+)\.(\d+)IP的格式是點分十進制格式,例如:192.168.100.11 就是正確的 IP
檢查帳號是否合法^[a-zA-Z][a-zA-Z0-9_]{4,15}$帳號字母開頭,其他位可以有大小寫字母、數字、底線,允許 5-16 位元組
檢查 QQ 號是否合法^\s*[0-9]{4,9}\s*$QQ 號碼必須是數字,最短 5 位,最長 10 位
檢查郵遞區號是否合法^[1-9]\d{5}$郵編首位不為 0,長度是 6 位的數字
檢查身分證號是否合法(^\d{14}$)|(^\d{17}([0-9]|X)$)身分證號碼為 15 位或者 18位,15 位時全為數字,18 位前 17 位為數字,最後一位是校驗位,可能為數字或字元 X
 檢查時間是否合規^(0\d{1}|1\d{1}|2[0-3]):([0-5]\d{1})$時間是 24 小時制,:號前是 01 到 23
檢查密碼是否合規^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$密碼必須包含大小寫字母和數位的組合,不能使用特殊字元,長度在 8-10之間
檢查信箱是否合規因為信箱格式類型比較多,比較常用的是^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$只允許英文字母、數字、底線、英文句號、以及中劃線組成
如果名稱中有漢字、字母、數字,域名只允許英文域名,正則運算式為^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$
檢查輸入內容是否有空格^[^\s]*$輸入內容不允許包含空格時使用,正則運算式為^[^\s]*$
檢查使用者密碼是否合法^[a-zA-Z]\w{5,17}$密碼規則是以字母開頭,長度在 6-18 之間,只能包含字母、數字和底線。



附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙