2013-05-31 2 views
1
<td><input type="text" MAXLENGTH="5" <cfif isdefined ("saverecord1") and isdefined("form.startnum") and form.startnum neq ''>value="#form.startnum#" <cfelse>value=""</cfif> onkeyup="toupper(this)" name="startnum" id="startnum"></td> 

<td><input MAXLENGTH="5"type="text" <cfif isdefined ("saverecord1") and isdefined("form.endnum") and form.endnum neq ''>value="#form.endnum#" <cfelse>value=""</cfif> onkeyup="toupper(this)" name="endnum" id="endnum"></td> 

<cfset x = #REFind('[^a-z]', '#form.startnum#')# >      

<cfset x = "#form.startnum#"> 
<cfif Len(Trim(x)) GT 0> 
    <cfset x = RemoveChars(x,1,1)> 
</cfif> 

<cfset y = "#form.ENDNUM#"> 

<cfif Len(Trim(y)) GT 0> 
    <cfset y = RemoveChars(y,1,1)> 
</cfif>  
<cfif y gt x>    
    <cfset total = y - x> 
<cfelse> 
    <script> 
    alert('Starting key number has to be greater than the ending key number! Please enter again'); 
    </script> 
</cfif> 

У меня есть 2 текстовых поля, в которых пользователь может вводить буквенно-цифровые номера ключей, как M1000, а также цифровых клавиш номера, как 1000. Я могу справиться с буквенно-цифровые номера клавиш при генерации номеров автоинкрементных ключей.Как проверить, если строка имеет характер в нем в ColdFusion

Но для ввода числового ключа, такого как 1000, выше, поскольку я удаляю символы, которые не существуют, и запись не принимается. Пожалуйста, совет, если refind() - это функция, которую я могу использовать, чтобы найти, есть ли какой-либо символ в моей записи строки. спасибо

+0

Ваша цель - простой английский? Убедитесь, что числовая часть 'form.startNum', т.е.' 1000', не превышает 'form.endNum'? Не связано с вашей проблемой, но нет необходимости в каких-либо из этих знаков '#', кроме тех, что находятся внутри тегов ''. Кроме того, вы можете упростить код, установив значения 'form' по умолчанию' cfparam', затем удалив инструкции 'isDefined'. – Leigh

ответ

1

ReFind - подходящая функция, но вы переписываете переменную x перед ее использованием. Здесь вы присваиваете значение x.

<cfset x = #REFind('[^a-z]', '#form.startnum#')# > 

Затем присвоить другое значение х

<cfset x = "#form.startnum#"> 

Затем вы используете переменную:

<cfif Len(Trim(x)) GT 0> 

Это Cfif такая же, как

<cfif Len(Trim(form.startnum)) GT 0> 

Но вы, вероятно, хотел этого:

<cfif REFind('[^a-z]', '#form.startnum#') GT 0> 
+0

Форма.startnum приемлема. Вам не нужен «или # –

Смежные вопросы