美文网首页
前端常用js封装

前端常用js封装

作者: 太阳照常升起_9c4e | 来源:发表于2019-09-26 11:00 被阅读0次
// 匹配邮箱
let reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$

// (新)匹配手机号
let reg = /^1[0-9]{10}$/;

// (旧)匹配手机号
let reg = /^1(3|4|5|7|8)[0-9]{9}$/;

// 匹配8-16位数字和字母密码的正则表达式
let reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/;

// 匹配国内电话号码 0510-4305211
let reg = /\d{3}-\d{8}|\d{4}-\d{7}/;

// 匹配身份证号码
let reg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

// 匹配腾讯QQ号
let reg = /[1-9][0-9]{4,}/;

// 匹配ip地址
let reg = /\d+\.\d+\.\d+\.\d+/;

// 匹配中文
let reg = /^[\u4e00-\u9fa5]*$/;

// 数字格式化 (如果小于10在前面加个0-用于日期)
const prefix_zero = (num) =>{
   return num >= 10 ? num : "0" + num;
}

// 冒泡排序
const bubbleSort = (arr) => {
   for (let i = arr.length - 1; i > 0; i--) {
     for (let j = 0; j < i; j++) {
       if (arr[j] > arr[j + 1]) {
         swap(arr, j, j + 1);
       }
     }
   }
   return arr;
}

// 置换函数
const swap = (arr, indexA, indexB) => {
   [arr[indexA], arr[indexB]] = [arr[indexB], arr[indexA]];
}

var list = [2,12,3,9,1];
console.log(bubbleSort(list));

// 数组去重
const distinct = (arr = testArr) => {
   return arr.filter((v, i, array) => array.indexOf(v) === i)
}
var list = [1,1,2,3,3,2,1,2,31,12,31,2];
console.log(distinct(list));
/**
 * 截取指定字节的字符串
 * @param str 要截取的字符穿
 * @param len 要截取的长度,根据字节计算
 * @param suffix 截取前len个后,其余的字符的替换字符,一般用“…”
 * @returns {*}
 */
function cutString(str, len, suffix) {
  if (!str) return "";
  if (len <= 0) return "";
  if (!suffix) suffix = "";
  var templen = 0;
  for (var i = 0; i < str.length; i++) {
    if (str.charCodeAt(i) > 255) {
      templen += 2;
    } else {
      templen++
    }
    if (templen == len) {
      return str.substring(0, i + 1) + suffix;
    } else if (templen > len) {
      return str.substring(0, i) + suffix;
    }
  }
  return str;
}


var list = 'asdfjsdjfas;ldfasl;dfjasdlfjsadf';
console.log(cutString(list,4,'...'));

相关文章

网友评论

      本文标题:前端常用js封装

      本文链接:https://www.haomeiwen.com/subject/vkvguctx.html