Skip to content

usefull-code-snippets #12

@itstrive

Description

@itstrive

获取一个地址的参数

const getURLParameters = (url=location.href) =>
    (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
	(a, v) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a),
	{}
    );

console.log(getURLParameters()); //不传参数默认获取当前地址
console.log(getURLParameters('https://www.baidu.com/s?wd=s&rsv_spt=1&rsv_sug4=4')); //{wd:'s', rsv_spt:'1', rsv_sug4:'4'}

httpGet

const httpGet = (url, callback, err = console.error) => {
  const request = new XMLHttpRequest();
  request.open('GET', url, true);
  request.onload = () => callback(request.responseText);
  request.onerror = () => err(request);
  request.send();
};

httpPost

const httpPost = (url, data, callback, err = console.error) => {
  const request = new XMLHttpRequest();
  request.open('POST', url, true);
  request.setRequestHeader('Content-type', 'application/json; charset=utf-8');
  request.onload = () => callback(request.responseText);
  request.onerror = () => err(request);
  request.send(data);
};

isBrowser

const isBrowser = () => ![typeof window, typeof document].includes('undefined');

随机一个16进制的颜色

const randomHexColorCode = () => {
  let n = (Math.random() * 0xfffff * 1000000).toString(16);
  return '#' + n.slice(0, 6);
};

转货币

const toCurrency = (n, curr, LanguageFormat = undefined) =>
  Intl.NumberFormat(LanguageFormat, { style: 'currency', currency: curr }).format(n);

console.log(toCurrency(123656.789, 'CNY')); //¥123,656.79
console.log(toCurrency(123656.789, 'USD','en-us')); //$123,656.79

具体参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions