常用的正则校验

生成指定范围的随机整数

const randomIntegerInRange = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;
randomIntegerInRange(0, 5);

生成指定范围的随机小数

const randomNumberInRange = (min, max) => Math.random() * (max - min) + min;
randomNumberInRange(2, 10);

四舍五入到指定位数

const round = (n, decimals = 0) => Number(`${Math.round(`${n}e${decimals}`)}e-${decimals}`);
round(1.005, 2);

精确小数

const RoundNum = (num, decimal) =>Math.round(num * 10 ** decimal) / 10 ** decimal;const num = RoundNum(1.69, 1);// num => 1.7

简单的货币单位转换

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

toCurrency(123456.789, 'EUR'); // €123,456.79
toCurrency(123456.789, 'USD', 'en-us'); // $123,456.79
toCurrency(123456.789, 'USD', 'fa'); // ۱۲۳٬۴۵۶٫۷۹
toCurrency(322342436423.2435, 'JPY'); // ¥322,342,436,423

随机十六进制颜色

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

randomHexColorCode();

奇偶判断  

const OddEven = num => !!(num & 1) ? "odd" : "even";const num = OddEven(2);// num => "even"

统计数组成员个数

const arr = [0, 1, 1, 2, 2, 2];const count = arr.reduce((t, v) => { t[v] = t[v] ? ++t[v] : 1; return t;}, {});// count => { 0: 1, 1: 2, 2: 3 }

数组中某元素出现的次数

export function countOccurrences(arr, value) {
    return arr.reduce((a, v) => v === value ? a + 1 : a + 0, 0);
}

简单数组交集

export const similarity = (arr1, arr2) => arr1.filter(v => arr2.includes(v));

实现千位分隔符

// 保留三位小数
parseToMoney(1234.56); // return '1,234.56'
parseToMoney(123456789); // return '123,456,789'
parseToMoney(1087654.321); // return '1,087,654.321'
function parseToMoney(num) {
  num = parseFloat(num.toFixed(3));
  let [integer, decimal] = String.prototype.split.call(num, '.');
  integer = integer.replace(/\d(?=(\d{3})+$)/g, '$&,');
  return integer + '.' + (decimal ? decimal : '');
}
function parseToMoney(str){
    // 仅仅对位置进行匹配
    let re = /(?=(?!\b)(\d{3})+$)/g;
   return str.replace(re,',');
}

验证是否是身份证

function isCardNo(number) {
    var regx = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
    return regx.test(number);
}

  

 

(0)

相关推荐

  • 前端面试题整理——手写bind函数

    var arr = [1,2,3,4,5] console.log(arr.slice(1,4)) console.log(arr) Function.prototype.bind1 = functi ...

  • 「简洁代码」20个常用的JavaScript简写技巧

    原创前端小智2021-01-31 11:05:50 作者 | Amitav Mishra 译者 | 清风依旧 策划 | 田晓旭 本文发布在 jscurious.com 任何编程语言的简写技巧都能够帮助 ...

  • 涨姿势!原来JavaScript运算符还可以这么玩

    涨姿势!原来JavaScript运算符还可以这么玩 作者 | Glad Chinda译者 | 王强编辑 | Yonie JavaScript 提供了几种运算符,可以用来对简单的值执行一些基本操作,如算 ...

  • 20个对JavaScript 开发人员的超级有用的技巧

    2021-09-07 JavaScript 是流行编程语言之一,也是许多开发人员最喜欢的语言之一.你可以用它构建 Web 或移动混合应用程序,甚至是机器人开发学习.该语言对于初学者来说,也不是那么困难 ...

  • js密码强弱正则校验、邮箱校验

    //强弱密码校验,密码至少包含大写字母,小写字母,数字,且不少于8位 var tx = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/; var pass = ...

  • 不使用正则进行英文数字等相关字符的规则校验

    不使用正则进行英文数字等相关字符的规则校验 在一些场景中,比如说注册登录的时候,我们会对用户名做一些限制,比如只能是数字和字母的组合.一般情况下,我们会使用正则表达式来完成这样的功能,不过,PHP其实 ...

  • [PHP小课堂]不使用正则进行英文数字等相关字符的规则校验

    [PHP小课堂]不使用正则进行英文数字等相关字符的规则校验 关注公众号:[硬核项目经理]获取最新文章 添加微信/QQ好友:[xiaoyuezigonggong/149844827]免费得PHP.项目管 ...

  • python 正则,常用正则表达式大全

    Nginx访问日志匹配 re.compile #re.compile 规则解释,改规则必须从前面开始匹配一个一个写到后面,前面一个修改后面全部错误.特殊标准结束为符号为空或者双引号:  改符号开始 从 ...

  • element-ui 表单校验 Rules 配置 常用黑科技

    type 指示type要使用的验证器.可识别的类型值为: string:类型必须为string.type 默认是 string // 校验 string: [ {type: 'string', mes ...

  • 脊疗的常用手法(图文)

    在脊椎疗法中,有许多颇具特色的手法,其中捏脊疗法.指拨脊背疗法.整脊疗法是最为常用的3种手法.我们在治疗时,可以针对患者不同的病症和体质而采用不同的手法,做到辨证施治,这样能取得最佳的治疗效果.此外, ...

  • 家中常备7种儿童常用的中成.药,几块钱轻...

    家中常备7种儿童常用的中成.药,几块钱轻松解决孩子厌食.消化不良大便干结.感冒   1.小儿豉翘清热颗粒   比较多用于小儿风热感冒滞证,症见发热咳嗽,鼻塞流涕,咽红肿痛,纳呆口渴,脘腹胀满,便秘或者 ...

  • 颈椎病常用食疗方颈椎病患者在进行食疗时,...

    颈椎病常用食疗方 颈椎病患者在进行食疗时,主要遵循软坚散结.舒筋止痛的原则,按照发病情况及疾病分型的不同予以配方.     1.复方红花酒     原料:红花20g,当归尾15g,赤芍15g,川芎15 ...

  • 电工电气必备常用计算公式与单位

    电工常用单位与公式都在这里,你记得几个?快来盘点下! 01 电功 表示电流在一段时间内通过某一电路,电场力所做的功.电能转化成多种其他形式能的过程也可以说是电流做功的过程,有多少电能发生了转化就说电流 ...