JS常用函數匯總

yne7 9年前發布 | 2K 次閱讀 JavaScript

/**

  • 根據電話號碼獲取位置信息
  • @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&quot;, 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("根據手機號獲取歸屬地服務失敗【前端】"); } }); }</pre>
 本文由用戶 yne7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!