在 Excel 中如果要限制使用者在某些儲存格中輸入的內容,則可以使用「資料驗證」,再設定資料驗證準則,使用者輸入不符準則的內容時,會被挑出來要求重新輸入,否則無法接受。
如果是在 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-z、A-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
留言列表