我正在尝试使用此人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)
答案 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) >