我正在尝试使用这个人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的)
发布于 2013-06-07 04:42:08
在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) >
https://stackoverflow.com/questions/16971586
复制相似问题