精心收集的几个超实用的JavaScript代码片段(ES6 +编写)

Value or default (值或者默认值)
返回 value ,如果传递的值是 falsy ,则返回默认值。
JavaScript 代码:

const valueOrDefault = (value, d) => value || d;
// valueOrDefault(NaN, 30) -> 30

Validate number (数字验证)
使用 !isNaN 和 parseFloat() 来检查参数是否是一个数字。使用 isFinite() 来检查数字是否是有限数。使用 Number() 来检查强制转换是否成立。
JavaScript 代码:

const validateNumber = n => !isNaN(parseFloat(n)) && isFinite(n) && Number(n) == n;
// validateNumber('10') -> true

Validate email(邮箱验证)
使用正则表达式来检查电子邮件是否有效。如果电子邮件有效,则返回 true ,否则返回false 。
JavaScript 代码:

const validateEmail = str =>
  /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(str);
// validateEmail([email protected]) -> true

UUID generator (UUID生成器)
使用 crypto API 生成符一个 UUID,符合RFC4122 版本 4 。
JavaScript 代码:

const uuid = _ =>
  ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>
    (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
  );
// uuid() -> '7982fcfe-5721-4632-bede-6000885be57d'

URL parameters(网址参数)
通过适当的正则表达式,使用 match() 来获得所有的键值对, Array.reduce() 来映射和组合成一个单一的对象。将 location.search 作为参数传递给当前 url。
JavaScript 代码:

const getUrlParameters = url =>
  url.match(/([^?=&]+)(=([^&]*))/g).reduce(
    (a, v) => (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1), a), {}
  );
// getUrlParameters('http://url.com/page?name=Adam&surname=Smith') -> {name: 'Adam', surname: 'Smith'}

你可能感兴趣的:(javascript,es6,javascript)