// 匹配邮箱
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,'...'));
网友评论