根据国家/地区更改货币

Change currency depending on country

本文关键字:货币 地区 国家      更新时间:2023-09-26

>我有一个包表。我想根据用户的位置自动更改每个金额的货币。例如,如果用户来自英国,它将更改为英镑,如果来自澳大利亚,它将更改为澳元。我在谷歌中寻找了一个教程,但我只能看到一个转换表,就像这个没有。我将如何使用HTML和javascript来做到这一点?

<style>
    td{
        text-align: center;
    }
</style>
<table>
    <tr>
        <td></td>
        <td>
            $100
        </td>
        <td>
            $200
        </td>
        <td>
            $300
        </td>
    </tr>
    <tr>
        <td>
            Package A
        </td>
        <td>
            <input type="checkbox" checked disabled/>
        </td>
        <td>
            <input type="checkbox" checked disabled/>
        </td>
        <td>
            <input type="checkbox" checked disabled/>
        </td>
    </tr>
    <tr>
        <td>
            Package B
        </td>
        <td>
            <input type="checkbox" disabled/>
        </td>
        <td>
            <input type="checkbox" checked disabled/>
        </td>
        <td>
            <input type="checkbox" checked disabled/>
        </td>
    </tr>
    <tr>
        <td>
            Package C
        </td>
        <td>
            <input type="checkbox" disabled/>
        </td>
        <td>
            <input type="checkbox" disabled/>
        </td>
        <td>
            <input type="checkbox" checked disabled/>
        </td>
    </tr>
</table>

首先,获取用户的IP地址

$ip =  $_SERVER['REMOTE_ADDR'];
echo $location = file_get_contents("http://api.hostip.info/country.php?ip=$ip");

它会回显用户的两个字母的国家代码,如果你要在本地主机中测试它,将第一行替换为这个测试 IP

$ip = '121.1.11.166';

测试将回显"PH",表示用户的IP来自菲律宾。

在这里看到它: 链接

你可能

想看看Globalize.js它可以处理许多不同的格式,包括货币。

https://github.com/jquery/globalize

https://github.com/jquery/globalize/blob/master/doc/api/currency/currency-formatter.md

这些格式基于此处 https://github.com/jquery/globalize/blob/master/doc/cldr.md 提供的不同语言设置。

使用它,您甚至可以处理货币符号,还可以显示数据的格式。

要获取访问者的语言,您可以使用这样的东西

Var language = window.navigator.userLanguage || window.navigator.language;
alert(language); //works IE/SAFARI/CHROME/FF

但请记住,一美元 !== 一欧元 € ^^