为不符合阿拉伯数字的计数添加+1

时间:2017-07-03 06:19:47

标签: javascript jquery

这是我的代码:

$(".count").text(parseInt($(".count").text())+1);

此代码仅适用于英文数字而不使用阿拉伯数字的问题。

1 in Arabic = 1

如何解决此问题,使此代码适用于阿拉伯语和英语?

3 个答案:

答案 0 :(得分:1)

使用普通数字然后转换为阿拉伯语



var arNum = '۰۱۲۳۴۵۶۷۸۹', val = 0;
$(function() {
  val = arNum.indexOf($(".count").text()); // works only from 0 - 9
  $("#inc").on("click",function() {
    val++;
    if (val > 9) {
      val=0;
    }  
    $(".count").text(arNum.charAt(val));
  });  
})  

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<span class="count">۰</span><button type="button" id="inc">Increment</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我不认为parseInt支持UTF-8字符串。它只有两个参数,一个是要解析的字符串数字,另一个是基数。 parseInt(string,number)。

检查isNaN是否返回true,然后parseInt无法正常工作。

答案 2 :(得分:0)

我认为你需要在添加后进行字符串替换。据我所知,JavaScript没有内置支持将数字转换为例如阿拉伯语。

例如,here是类似问题的一个很好的答案,其中包含所述替换的功能。

基本上,您为阿拉伯数字创建一个查找表,然后在增加的数字(作为字符串)上运行String.replace