我在网站中有一个图库,每个图库图像都用如下的网址表示:
http://www.example.com/gallery/my-photos#10
http://www.example.com/gallery/my-photos#11
http://www.example.com/gallery/my-photos#12
。 。 。 。
我已创建条件语句以防止用户使用无效的网址。
$universities = array(
"A University",
"B University",
"C University",
"D University",
"E University",
"F University"
);
echo '<select name="univ" id="univ">';
foreach ($universities as $name) {
echo "<option value='{$name}' " . ($univ_name == $name ? 'selected=\'selected\'': ''). ">{$name}</option>";
}
echo '</select>';
然而,这不起作用,我从window.location.hash.substring(1)获得的值将始终是一个字符串,无论我输入数字还是字符串。
答案 0 :(得分:3)
如果你想获得号码,你应该使用:
parseInt(galleryNum,10)
如果要检查galleryNum是否为数字,可以使用:
isNaN(parseInt(galleryNum,10))
答案 1 :(得分:3)
尝试使用.test()
if( /\d/.test(galleryNum) ) {
// `Number`
} else {
// not `Number`
}
答案 2 :(得分:2)
没有&#34; NaN&#34;类型。事实上,尽管NaN代表Not-a-Number,但它实际上是一个数字:typeof NaN === 'number'
但是,您可以使用isNaN()
来测试NaN。
要测试从URL返回的字符串是否可以强制转换为数字,请使用parseInt:
var galleryNum = parseInt(window.location.hash.substring(1),10);
if (typeof(galleryNum) === 'number' && !isNan(galleryNum)) {
// got a number here
}