Google表单的验证输入资料的规则运算式

爱必应

在 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

原文链接:,转发请注明来源!

发表评论