18910140161

JavaScript-如何将波斯语数字转换为英语数字?-堆栈溢出

顺晟科技

2022-10-18 13:03:57

193

我只是想把数字的形状从波斯语改成英语(我的意思是像1400/06/31)。我的意思是把它留在波斯。只有文本字体应为英文。我怎么能这么做?

 var today = new Date().toLocaleDateString('fa-IR');
  var field = document.querySelector('#tday');
  field.value = today;
<代码><;input type=“ text ” name=“ tday ” Class=“ Form-Control W-100 Text-Center D-Inline-Block ” ID=“ tday ”>;


顺晟科技:

如果您同意添加软件包,请使用波斯语工具export default function toPersianDigits (num) { if (num?.toString()) { const persianNumbers = '\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9' return new String(num).replace(/[0123456789]/g, (d) => { return persianNumbers[d] }) } return num } 函数:

digitsFaToEn
https://github.com/persian-tools/persian-tools.

要将英语(阿拉伯语)数字转换为波斯语(波斯语)数字,下面的一行代码可以完成这项工作。

它将更改所有波斯语数字,但保持其他所有内容不变,包括所有其他文本的位置。

var englishNumber = digitsFaToEn("۱۴۰۰/۰۶/۳۱")  // englishNumber = 1400/06/31

您可以使用此函数将波斯语数字

转换为英语数字
<input type="text" name="tday" class="form-control w-100 text-center d-inline-block" id="tday">

用这个把英语数字

转换成波斯语数字。
export default function toEnglishDigits(num) {

  const id = {
    '۰': '0',
    '۱': '1',
    '۲': '2',
    '۳': '3',
    '۴': '4',
    '۵': '5',
    '۶': '6',
    '۷': '7',
    '۸': '8',
    '۹': '9',
  }
  return num ? num.toString().replace(/[^0-9.]/g, function (w) {
    return id[w] || w
  }) : null
}

您还可以将任何格式的字符串传递给这些函数。

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航