【发布时间】:2012-06-19 14:00:52
【问题描述】:
我尝试使用以下代码将文本字段值从(N50,000.00 NGN) 格式化为(50000),但结果不是产生50000,而是产生5000000。
有人可以帮忙吗?
<script type="text/javascript" language="javascript">
function doWork() {
var amount = document.getElementsByName('amount');
var str = amount[0].value;
var temp = '';
for (i = 0; i < str.length; i++) {
if (!isNaN(str[i]))
temp += str[i];
}
amount[0].value = temp;
}
</script>
<input type="text" name="amount" value="N50,000.00 NGN" />
<input type="button" value="submit" onclick="doWork();">
【问题讨论】:
-
你去掉每个不是数字的字符。这也去掉了“.”,所以左边是 5000000。
-
您只是在测试 NaN,但小数点后还有更多数字。正则表达式在这里可能更合适,但要这样做,您必须定义您期望的所有输入类型。