-
Notifications
You must be signed in to change notification settings - Fork 83
usefull-code-snippets #12
Open
Labels
Description
获取一个地址的参数
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