javascript - 如何将波斯数字转换为英文数字?
问题描述
我只想将数字的形状从波斯语更改为英语(我的意思是像这样的 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 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
}
并使用它来将英文数字转换为波斯数字
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
}
您还可以使用任何格式将字符串传递给这些函数。
推荐阅读
- sql - 创建选择表中特定条目的 SQL 查询
- spring - Spring集成(IntegrationFlowContext):动态注册新路径到同一个websocket服务器
- php - Laravel Join query is not working for 4 tables
- docker - 在 Heroku 上部署 Tika-tesseract docker
- python-3.x - 如何执行列出本地 pc 上服务器输出的 govc/pyvmomi 运行命令
- git - 如何在 Azure DevOps 服务器的集合之间移动项目?
- dns - 如何在从 IBM 证书管理器订购证书时创建回调 URL?
- reactjs - 如何配置 webpack 以使用 typescript 显示反应组件
- ruby - 如何修复“sudo bundle install”
- angular - 如何在模态单击时在 mat-table 中默认检查 angular8 中特定行的复选框?