使用下面的url字符串,我需要找到名为construction
的参数的值。
<cfset understand = "http://www.example.com/ops.cfm?id=code&construction=148&construction=150&Building=852&Building=665&Building=348&Building=619&Building=625&Building=626&_=1426353166006&action=SUBMIT">
<cfset understand2 = "http://www.example.com/ops.cfm?id=code&construction=AVENT+Construction+Site&construction=Signore+upper+constructions&Building=852&Building=665&Building=348&Building=619&Building=625&Building=626&_=1426353166006&action=SUBMIT">
然后我想检查值是数字还是字符串。我这样做:
isDefined('understand') and isnumeric(understand)
但它总是返回“NO”。
答案 0 :(得分:1)
似乎是REGEX的一个好例子,但这不是我的力量。如果您一直在寻找相同项(构造)的值,则可以利用底层Java并使用STRING.split()方法。然后使用Coldfusion val()函数来查看你得到的内容。以下解决方案假定0不是有效值。如果是,那么你还有更多工作要做。
<cfscript>
target=understand;
//target=understand2; //uncomment to try the second values
token="construction=";
potentialValues = target.split(token); //creates an array of values using the token as a separator
for (item in potentialValues )
{
writeoutput(val(item) & "<br />"); //val will grab the numerical value and ignore everything that follows. No number will become 0
}
</cfscript>
答案 1 :(得分:0)
试试这个:
constructionIsAt = find(understand, "construction");
characterAfterConstruction = mid(understand, constructionIsAt + 13, 1);
if isNumeric(characterAfterConstruction) {
code for numeric
}
else {
code for non numeric
}