H.A*_*.Al 5 javascript numbers nan arabic translate
我发现此功能在文本输入仅是阿拉伯数字时非常有效:
function parseArabic(){ // PERSIAN (?????), ARABIC (????) , URDU (??????)
var yas ="??????????";
yas = Number(yas.replace(/[??????????]/g, function (d) {
return d.charCodeAt(0) - 1632;
}).replace(/[??????????]/g, function (d) { return d.charCodeAt(0) - 1776; })
);
alert(yas);
}
Run Code Online (Sandbox Code Playgroud)
此处yas的警报值为“ 0123456789”。很好,但是当我在同一个变量中有其他字符(例如英语(字母和数字)和阿拉伯语(字母))时如何使用此功能?Ex: "test ?????????? hello ????? "
。我问这个是因为parseArabic只接受要翻译的阿拉伯数字;其他被视为NaN。
对于那些不想费尽心思去寻找的人Number
(根据OP的回答)。这是更新后的代码:
function parseArabic(){ // PERSIAN (\xd9\x81\xd8\xa7\xd8\xb1\xd8\xb3\xdb\x8c), ARABIC (\xd8\xb9\xd8\xb1\xd8\xa8\xd9\x8a) , URDU (\xd8\xa7\xd9\x8f\xd8\xb1\xd8\xaf\xd9\x8f\xd9\x88)\n var yas ="\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xa3\xd9\xa4\xd9\xa5\xd9\xa6\xd9\xa7\xd9\xa8\xd9\xa9";\n yas = (yas.replace(/[\xd9\xa0\xd9\xa1\xd9\xa2\xd9\xa3\xd9\xa4\xd9\xa5\xd9\xa6\xd9\xa7\xd9\xa8\xd9\xa9]/g, function (d) {\n return d.charCodeAt(0) - 1632; \n }).replace(/[\xdb\xb0\xdb\xb1\xdb\xb2\xdb\xb3\xdb\xb4\xdb\xb5\xdb\xb6\xdb\xb7\xdb\xb8\xdb\xb9]/g, function (d) { return d.charCodeAt(0) - 1776; })\n );\n alert(yas);\n}\n
Run Code Online (Sandbox Code Playgroud)\n