正则表达式检查名字? ColdFusion的

时间:2017-08-01 15:27:50

标签: regex coldfusion

我有正则表达式,应检查参数名字。我的字符串可以包含'.,(space)-。我已经测试并且正则表达式表示true除了一个字符之外的所有字符。如果我的示例中有Ben's这样的名称正则表达式返回false。这是我的正则表达式:

<cfset fname = len(trim(arguments.fname)) AND REFind("(?i)^ *[a-z][a-z' .,-]{0,29} *$",trim(arguments.fname),true) EQ 1>

我不确定是否有其他因素导致我的正则表达式失败。如果有人在我的代码中看到问题出在哪里,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

这将帮助您入门。

patternOnlyCertainCharacters = "[^ 0-9a-zA-Z.\-]";
testString = "1.- ~";
writeoutput(refind(patternOnlyCertainCharacters, testString));

在方括号之间

^ is an anchor
There is a space between the ^ and 0 characters
0-9a-zA-Z allows any number or letter, upper or lower case
. is a period
\- is a hyphen, escaped by a backslash

您的工作是正确添加您想要允许的其他字符,例如逗号,并决定如何将结果应用于传入的字符串。