替换价格计算JS中的字符

时间:2015-12-14 10:27:01

标签: javascript jquery

我正在为我的电子商务创建一个百分比计算脚本,但我遇到了问题。

如果我使用的字符如下:" ,. %"价格值表示" 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

我不知道如何在我的剧本中使用它。

有人可以帮我实现目标吗?

3 个答案:

答案 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"