JS常用函數匯總
/**
- 根據電話號碼獲取位置信息
- @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)
{
} if(remainSum == 0) {return number;
} else {resultArray = resultArray.concat(int.match(/\d{3}/g));
} return pointPosi == -1 ? resultArray.join(',') : resultArray.join(',') + '.' + float; }resultArray.push(int.substring(0, remainSum)); int = int.substring(remainSum); resultArray = resultArray.concat(int.match(/\d{3}/g));
/**
- 測量文本的寬度
- @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 = {
}; var positionCallback = function(data, status){locationMode: "CLIENT_IP" // ip定位
}; geolocation.position(positionParam, positionCallback); }if(status === "OK") { if(data && data.latLng) { succResult.latitude = data.latLng.lat; // 緯度 succResult.longitude = data.latLng.lng; // 經度 } } if(getSuccFunc) { getSuccFunc(succResult); }
/**
- 將數字轉換成字符串的通用方法
- 說明:直接使用 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)
{
} else {result = Number(result).toFixed(decimalLen);
} return result; }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);
/**
- 根據電話號碼獲取位置信息,使用拍拍開放 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("根據手機號獲取歸屬地服務失敗【前端】");
}
});
}</pre>
本文由用戶 yne7 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!