2013-06-06 5 views
0

나는이 사람이 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

일반 표현식에 파운드 기호'#'이 (가) 있으므로 '##'로 두 배로 ColdFusion을 이스케이프해야합니다. –

답변

1

ColdFusion에서 #은 문자열을 출력하는 데 사용됩니다. cfelseifcfoutput 태그 내에있는 경우 ##을 사용하여 #을 이스케이프해야합니다. 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) > 
+0

문제가 해결되었습니다. 고맙습니다. – confusedStudent

+1

@confusedStudent :이 답변으로 문제가 해결되면 향후 독자에게 "수락 함"으로 표시해야합니다. 참조 : [대답이 "받아 들여지는"것은 무엇을 의미합니까?] (http://stackoverflow.com/helpcenter/accepted-answer) – ale

관련 문제