Javascript电话号码自动完成

Javascript电话号码自动完成,javascript,autocomplete,geolocation,Javascript,Autocomplete,Geolocation,您好,使用Javascript获取用户的当前位置和自动完成字段(例如,在新加坡,它是+65)和区号?这真的很难,我建议不要这样做,因为这需要付出大量的努力才能获得很少的回报。最好的方法(对用户来说最流畅)是使用PHP/ASP/Ruby on Rails/任何东西获取用户IP,并查询一个免费提供的地理IP数据库(Google it),将其与一个国家匹配,然后创建您自己的国家代码数据库(使用或类似) 如果你真的想使用JavaScript,它只允许你在更新的浏览器中使用,并且它会提示用户你想知道他们的

您好,使用Javascript获取用户的当前位置和自动完成字段(例如,在新加坡,它是+65)和区号?

这真的很难,我建议不要这样做,因为这需要付出大量的努力才能获得很少的回报。最好的方法(对用户来说最流畅)是使用PHP/ASP/Ruby on Rails/任何东西获取用户IP,并查询一个免费提供的地理IP数据库(Google it),将其与一个国家匹配,然后创建您自己的国家代码数据库(使用或类似)

如果你真的想使用JavaScript,它只允许你在更新的浏览器中使用,并且它会提示用户你想知道他们的位置。。。很多人会想知道你为什么要问这个,然后单击“否”

// first, check it's supported
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(insertCountryCode);
}
insertCountryCode
是您传递的函数。为什么?因为提示用户允许您的网站知道他们的位置是非模态的,这意味着页面将在等待响应时继续运行,所以当他们响应时,功能将是异步的(在正常流之外)。此功能用于查找他们的位置并插入他们的国家代码。在此函数中,使用并传递latlng参数以获取国家/地区。。。然后,您需要找到另一个查找服务,它将让您找到拨号代码

我解释这一点的原因是想告诉你这有多难。一个简单得多的替代方案是有一个带有

<option value="+65">Singapore</option>
新加坡

并将值插入电话号码框。我建议您这样做。

使用HTML5的location API需要用户的许可。不管怎样,您都可以在没有他们许可的情况下执行此操作,方法是查看他们的IP地址(使用服务器端语言,如PHP),然后检查IP在数据库中的位置(如PHP)。