在 Excel 中如果要限制使用者在某些儲存格中輸入的內容,則可以使用「資料驗證」,再設定資料驗證準則,使用者輸入不符準則的內容時,會被挑出來要求重新輸入,否則無法接受。

Google表單的驗證輸入資料的規則運算式

如果是在 Google 試算表中,也可以透過「驗證資料」工具來加以限制輸入的內容。

Google表單的驗證輸入資料的規則運算式

在 Google 表的中也有像資料驗證的概念,在填答者輸入不符規定的內容時,予以限制。除了數字、文字、長度等,還有一項:規則運算式。

Google表單的驗證輸入資料的規則運算式

透過表單設計者自定的規則來檢驗輸入是否合於規定,例如:限制使用者輸入的電話必須符合格式:+886nnn-nnn-nnn。

在 Google 表單的規則運算式中可以使用:

符號:

^:起始符號

$:結尾符號

[]:群集符號

{}:數量符號

範例 :

【例】^[we]:開頭必須是w或是e。

【例】^[a-zA-Z]:開頭只能是一個英文字母(大寫或小寫皆可)。

【例】[0123456789]$:結尾必須是數字,也可表示為:[0-9]$。

【例】{10} :代表正好10個。

【例】{12,}:代表12個或以上。

【例】{1,5}:代表1~5個之間。

 

字元符號:

【例】\w:所有英文字元([a-zA-Z])

【例】\W:所有非英文字元([^a-zA-Z0-9])

【例】\d:所有數字([0-9])

【例】\D:所有非數字([^0-9])

【例】+ :前一個字元顯示至少1次({1,})

【例】? :前一個字元顯示0或1次({0,1})

【例】* :前一個字元顯示0或1次以上({0,})

反斜線「\」還代表跳脫字元的意思。如果要使用 +、?、* 等,要以 \+、\?、\* 表示。

 

如果要檢查是否填入+886-nnn-nnn-nnn 的手機號碼,例如:+886-123-456-789。

規則運算式:^\+(886)-\d{3}-\d{3}-\d{3}

 

關於規則運算式,可以參考 Google 所提供的簡易說明:

https://support.google.com/docs/answer/3378864,以下為摘錄的內容:

運算式

說明

範例

符合

不符合

.

英文句號代表指定位置的任何字元。

d.

do, dog, dg, ads

fog, jog

*

字元後面加上星號時,代表搜尋前面字元重複 0 次以上的情形。

do*g

dog, dg, dooog

dOg, doug

+

字元後面有加號時,代表搜尋這個字元顯示 1 次以上的情形。

do+g

dog, dooog

dg, dOg, doug

?

前一個運算式不一定要出現。

do?g

dg, dog

dOg, doug

^

脫字符號必須放在規則運算式的最前面;該符號代表您要尋找的字串,是以脫字符號後面緊接的字元或序列來開頭。

^[dh]og

dog, hog

A dog, his hog

$

美元符號必須放在規則運算式的最後面;該符號代表您要尋找的字串,是以美元符號前面緊接的字元或序列來結束。

[dh]og$

dog, hog, hot dog

dogs, hog, doggy

{A, B}

前一個運算式重複 A B 次,且 A B 都是數字。

d(o{1,2})g

dog, doog

dg, dooog, dOg

[x], [xa], [xa5]

字元集代表其中一個指定字元應該出現在目前的位置。括弧內的字元通常都有效,包括前面運算式包含的字元:[xa,$5Gg.]

d[ou]g

dog, dug

dg, dOg, dooog

[a-z]

字元集範圍代表搜尋指定字元範圍內的字元。一般範圍包括 a-zA-Z 0-9。您可以將這些範圍合併成一個範圍:[a-zA-Z0-9]。您也可以將這些範圍與字元集 (如前述) 合併:[a-zA-Z,&*]

d[o-u]g

dog, dug, dpg, drg

dg, dOg, dag

[^a-fDEF]

如果字元集以「^」開始,代表您要搜尋不在指定集合內的字元。

d[^aeu]g

dog, dOg, dig, d$g

dg, dag, deg, dug

\s

所有空格字元。

d\sg

d g, d[TAB]g

dg, dog, doug

 

注意:如果您要尋找的字元在規則運算式中有特殊意義 (例如 ^ 和 $),就必須在搜尋查詢中讓這類字元「逸出」,也就是在字元前面加上反斜線。舉例來說,如果您要搜尋試算表中出現的 $ 字元,就必須輸入 \$。

以下是幾個運用規則運算式來搜尋試算表的例子:

搜尋包含美元金額的儲存格

在 [尋找] 列中輸入以下字串:^\$([0-9,]+)?[.][0-9]+

這個字串代表美元金額。第一個數字是出現零次以上的任何 0-9 數字或逗號,後面緊接 [.],然後再重複一次以上的任何 0-9 數字。這項搜尋作業可能會傳回下列結果:$4.666、$17.86、$7.76、$.54、$900,001.00、$523,877,231.56

搜尋包含美國郵遞區號的儲存格

在 [尋找] 列中輸入以下字串:[0-9]{5}(-[0-9]{4})?

這代表美國郵遞區號包含五位數字,並可選擇是否加上連字號以及四碼附加編號。

搜尋的儲存格內容必須是以小寫英文字母開始的名字

在 [尋找] 列中輸入以下字串:^[a-z]。

這代表儲存格內容包含一個小寫英文字母,後面接著另一個出現 0 次以上的字元。這項搜尋作業可能會傳回下列結果:bob、jim、gEORGE、marTin

學不完.教不停.用不盡文章列表

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(2) 人氣()