Поэтому я использую ColdFusion для проверки формы, и из-за характера этой формы проверка может быть очень простой.У меня все работает, кроме телефонного поля.Единственный критерий, который должен быть выполнен для того, чтобы введенный номер телефона был действительным, заключается в том, что после удаления всех нецифровых символов он должен быть длиной не менее 10 символов.Ниже приведен точный код, который я использую:
<cfif len(REreplace(phoneNum, "[^0-9]", "", "all")) LT 10>
[THROW AN ERROR]
</cfif>
Проблема в том, что каждый раз выдается ошибка, независимо от длины phoneNum, ЕСЛИ Я не включаю не числовой символ для REreplace () для замены,Я хотел посмотреть, что происходит, и попробовать что-то немного другое, поэтому я поэкспериментировал с этим:
<cfset phoneLength = len(REreplace(phoneNum, "[^0-9]", "", "all"))>
<cfdump var="#phoneLength#">
<cfif phoneLength LT 10>
[THROW AN ERROR]
</cfif>
В этом случае я получаю значение сброса 10 или более, но ошибка по-прежнему выдаетсяесли я не помещу не числовой символ в phoneNum.У меня может быть точно такое же количество числовых символов (т. Е. Выгружаемое значение остается прежним), но добавление в круглых скобках или что-то изменится, независимо от того, выдана ли ошибка.Кто-нибудь знает, что здесь происходит?Я не могу поверить, что задаю StackOverflow вопрос о If / Then, но я просто не могу понять, как ColdFusion может оценить phoneLength до менее десяти, когда это явно и явно не так.