如何使用Javascript获取用户电话序列号或IP号码

时间:2017-11-11 22:19:06

标签: javascript jquery html css

使用html,css和Javascript构建混合应用程序,我希望应用程序只能在我的手机上运行,​​我希望能够使用Javascript获取我的IP号码或序列号,如果它与已存储的号码相匹配在变量中,它将允许我访问应用程序。感谢

1 个答案:

答案 0 :(得分:0)

您无法使用JS代码从手机获取电话号码,序列ID。您可以使用phonegap这样的包装器,它允许您将js html应用程序转换为本机应用程序。 api可能会让你做一些你需要检查文档的东西。

https://phonegap.com/

从JS你无法获得手机的IP,要从JS获取IP,你可以与你自己的服务器通信并获得IP或使用例如免费的GEO ip api,这将允许你从客户端JS代码调用如下:

这是一个免费的api

http://ip-api.com/docs/api:json

这将返回json中的设备IP以及一些地理结果。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>IP-API.com Geo Location Demo</title>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    </head>
    <body>
        <table id="GeoResults"></table>
        <script>
        $.getJSON("http://ip-api.com/json/?callback=?", function(data) {
            var table_body = "";
            $.each(data, function(k, v) {
                table_body += "<tr><td>" + k + "</td><td><b>" + v + "</b></td></tr>";
            });
            $("#GeoResults").html(table_body);
        });
        </script>
    </body>
</html>

最后一个选项是创建自己的uuid并将其存储为cookie或在local storage中使用JS。然后,您可以在运行应用程序时读取该ID,并使用它来识别设备。

function generateUUID() {
    var d = new Date().getTime();
    var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        var r = (d + Math.random()*16)%16 | 0;
        d = Math.floor(d/16);
        return (c=='x' ? r : (r&0x3|0x8)).toString(16);
    });
    return uuid;
};

您可以阅读如何在设备本地存储中存储并在此处进行检索:

https://www.w3schools.com/html/html5_webstorage.asp