无法获得此电话号码正则表达式工作

时间:2013-06-06 20:28:54

标签: regex coldfusion

我正在尝试使用此人submitted的电话号码正则表达式,但我无法弄清楚为什么它不起作用。

<cfelseif NOT REFIND("^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$",contactphone) >

最后给我一个错误(\ d +)。 (我是ColdFusion的新手并使用RegEx)

1 个答案:

答案 0 :(得分:1)

在ColdFusion中#用于输出字符串。如果您cfelseif位于cfoutput个标记内,则需要使用#转义##。将您的regEx更新为以下格式可以解决您的问题。

<cfelseif NOT REFIND("^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:##|x\.?|ext\.?|extension)\s*(\d+))?$",contactphone) >