- /**
- * 根据电话号码获取位置信息
- * @param phoneNo 电话号码
- * @param succFunc 调用接口成功的回调函数
- * 回调函数入参的数据格式如下:
- * {
- "mobile": "18576648552",
- "province": "广东",
- "isp": "中国联通",
- "stock": "1",
- "amount": "10000",
- "maxprice": "0",
- "minprice": "0",
- "cityname": "深圳"
- }
- */
- function getPositionByPhoneNo(phoneNo, succFunc)
- {
- $.ajax({
- url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo",
- type: "post",
- data: {mobile: phoneNo, amount: 10000},
- dataType: "jsonp",
- jsonp: "callname",
- jsonpCallback: "getPhoneNumInfoExtCallback",
- success: function(data){
- if(succFunc)
- {
- succFunc(data);
- }
- },
- error: function(xhr, errorCode){
- console.log("根据手机号获取归属地服务失败【前端】");
- if(succFunc)
- {
- succFunc({});
- }
- }
- });
- }
- /**
- * 将数字金额进行千位分隔
- * @param number 需要分隔的数字
- * @return 返回分割后的数字
- */
- function formatFloatToThousand(number)
- {
- number = number.toString();
- var resultArray = [];
- var pointPosi = number.indexOf("."); // 取得小数点的位置
- var int = pointPosi == -1 ? number : number.substring(0, pointPosi); // 取得小数中的整数部分
- var float = pointPosi == -1 ? '' : number.substring(pointPosi + 1, number.length);
- var remainSum = int.length % 3; // 超过 3 的位数
- if(int.length < 3)
- {
- return number;
- }
- if(remainSum == 0)
- {
- resultArray = resultArray.concat(int.match(/\d{3}/g));
- }
- else
- {
- resultArray.push(int.substring(0, remainSum));
- int = int.substring(remainSum);
- resultArray = resultArray.concat(int.match(/\d{3}/g));
- }
- return pointPosi == -1 ? resultArray.join(',') : resultArray.join(',') + '.' + float;
- }
- /**
- * 测量文本的宽度
- * @param $source 需要测量文本宽度的 jquery 对象
- */
- function measureTxtWidth($source)
- {
- var txtWidth = null;
- var text = $source.text();
- var $span = $("<span>" + text + "</span>").appendTo("body");
- $span.CSS({whiteSpace: "nowrap", font: $source.css("font")});
- txtWidth = $span.width();
- $span.remove();
- return txtWidth;
- }
- 使用新浪开放 api 获取当前位置:
- http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
- 返回的数据格式如下:
- {
- "ret": 1,
- "start": "180.149.132.0",
- "end": "180.149.159.255",
- "country": "中国", // 国家
- "province": "北京", // 省份
- "city": "北京", // 城市
- "district": "",
- "isp": "电信", // 运营商
- "type": "企业",
- "desc": "中国电信集团电信"
- }
- /**
- * 获取地理定位信息,使用腾讯地图进行定位
- * @param getSuccFunc 获取成功的回调函数回调函数
- */
- function getGeolocation(getSuccFunc)
- {
- var succResult = {}; // 请求位置成功的结果
- var geolocation = new soso.maps.Geolocation();
- var positionParam = {
- locationMode: "CLIENT_IP" // ip定位
- };
- var positionCallback = function(data, status){
- if(status === "OK")
- {
- if(data && data.latLng)
- {
- succResult.latitude = data.latLng.lat; // 纬度
- succResult.longitude = data.latLng.lng; // 经度
- }
- }
- if(getSuccFunc)
- {
- getSuccFunc(succResult);
- }
- };
- geolocation.position(positionParam, positionCallback);
- }
- /**
- * 将数字转换成字符串的通用方法
- * 说明:直接使用 toFixed 方法会进行四舍五入,因此写一个将数字转换为指定小数位数字符串的方法
- * @param sourceData 源数据
- * @param decimalLen 小数的位数
- */
- function numberToString(sourceData, decimalLen)
- {
- decimalLen = typeof(decimalLen) == undefined ? 0 : decimalLen;
- var result = sourceData + "";
- var integerStr = null; // 整数部分
- var decimalStr = null; // 小数部分
- if(result.indexOf(".") == -1)
- {
- result = Number(result).toFixed(decimalLen);
- }
- else
- {
- integerStr = result.substring(0, result.indexOf(".")); // 整数部分
- decimalStr = /\.\d+/.exec(result); // 小数部分
- decimalStr = Number(decimalStr);
- decimalStr = decimalStr.toPrecision(decimalLen).substr(0, decimalLen + 2);
- result = integerStr + decimalStr.substr(1);
- }
- return result;
- }
- /**
- * 根据电话号码获取位置信息,使用拍拍开放 api
- * @param phoneNo 电话号码
- * @param succFunc 调用接口成功的回调函数
- * 回调函数入参的数据格式如下:
- * {
- "mobile": "18576648552",
- "province": "广东",
- "isp": "中国联通",
- "stock": "1",
- "amount": "10000",
- "maxprice": "0",
- "minprice": "0",
- "cityname": "深圳"
- }
- */
- function getPositionByPhoneNo(phoneNo, succFunc)
- {
- $.ajax({
- url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo",
- type: "post",
- data: {mobile: phoneNo, amount: 10000},
- dataType: "jsonp",
- jsonp: "callname",
- jsonpCallback: "getPhoneNumInfoExtCallback",
- success: function(data){
- if(succFunc)
- {
- succFunc(data);
- }
- },
- error: function(xhr, errorCode){
- console.log("根据手机号获取归属地服务失败【前端】");
- }
- });
- }
来源: http://www.phpxs.com/code/1003830/