我正在为我的电子商务创建一个百分比计算脚本,但我遇到了问题。
如果我使用的字符如下:" ,. %"价格值表示" NaN"。
所以我做了这个:
<input type="text" name="cost" onkeyup="disc()"> <br><br>
<input type="text" name="discount" id="prized" onkeyup="updateInput()">
<input type="text" name="price" value="">
<script>
function updateInput(){
var discount = document.getElementsByName("discount")[0].value;
var cost = document.getElementsByName("cost")[0].value;
document.getElementsByName("price")[0].value = cost - (cost * (discount / 100));
}
function disc(){
if($("#prized").val().length > 1) {
var discount = document.getElementsByName("discount")[0].value;
var cost = document.getElementsByName("cost")[0].value;
document.getElementsByName("price")[0].value = cost - (cost * (discount / 100));
}
}
</script>
如何在成本价值或折扣价值中插入字符时更换字符?
我做了一些研究,我发现了一个有趣的功能:.replace
我不知道如何在我的剧本中使用它。
有人可以帮我实现目标吗?
答案 0 :(得分:0)
您应该像这样替换特殊字符 ,
和 &
var price = $(".price").val().replace(/,/g, "").replace("%", "")
此replace(/,/g, "")
将替换逗号,
实施例。 1,00,000是100000
答案 1 :(得分:0)
为什么不在调用函数之前验证用户输入?创建一个正则表达式只允许你想要的字符。因为它是您的用户可以在输入框中输入他们想要的任何字符。可能是一个限制它的好主意。
答案 2 :(得分:0)
我不知道这是否是要求,任何方式都可以替换下面的工作,
var test = "90.56%";
test = test.replace(/[.%]/g, "");
//test will be "9056"