【发布时间】:2013-01-17 08:41:49
【问题描述】:
如何将此 PHP 代码复制到 Javascript 中?它需要一个像 2-9999(序列号)这样的数字并将其转换为 NUMBER ... 2-999 转换后将是一个不同的值。
function esn_to_num($esn)
{
if (($tmp = explode('-', $esn))) {
if (sizeof($tmp) == 2
&& my_isnum($tmp[0])
&& my_isnum($tmp[1])
) {
$esn = (($tmp[0] << 23) | $tmp[1]);
} else {
$esn = -1;
}
} else {
$esn = -1;
}
return $esn;
}
我在下面添加了一个依赖函数
// dependency function
/*****************************************************************************
* CHECKS IF A STRING REPRESENTS A NUMBER
******************************************************************************/
function my_isnum($str, $negative=false, $decimal=false)
{
$has_decimal = false;
$len = strlen($str);
if ($len > 0) {
$valid = true;
for ($i=0; $valid && $i<$len; $i++) {
if (!($str[$i] >= '0' && $str[$i] <= '9')) {
if ($str[$i] == '-') {
if (!$negative || $i != 0) {
$valid = false;
}
} else if ($str[$i] == '.') {
if (!$decimal || $has_decimal) {
$valid = false;
}
} else {
$valid = false;
}
}
}
} else {
$valid = false;
}
return $valid;
}
【问题讨论】:
-
什么是
my_isnum?另外,你试过什么?
标签: php javascript javascript-events php-5.2