JS封装函数收纳
当前时间格式化
查看代码
今天是1970年01月01日
现在是18:18:00
倒计时函数
查看代码
倒计时
00
:
25
:
20
缓动动画animate.js
查看代码
4.普通冒泡排序
查看代码
function bubbling(arr, isBigSmall) { // arr 数组 , isBigSmall 是否从大到小排练
let num = arr.length
for (let i = 0; i < num; i++) {
for (let j = 0; j < num; j++) {
if (arr[j] > arr[j + 1]) {
let numNumber = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = numNumber
}
}
}
if (isBigSmall || isBigSmall === true) { //从大到小排练
arr = arr.reverse()
}
return arr // 默认从小到大
}
快速排序
查看代码
function rapidSort(arr, isBigSmall) { // arr 数组 , isBigSmall 是否从大到小排练
let left = []
let right = []
let center = []
let arrLength = arr.length
for (let i = 0; i < arrLength; i++) {
if (arr[i] === arr[0]) {
center.push(arr[i])
} else if (arr[i] > arr[0]) {
right.push(arr[i])
} else {
left.push(arr[i])
}
}//将数组分为3部分, 同时进行排练,最后合并
let leftnew = bubblingSortList(left)
let rightnew = bubblingSortList(right)
let newArr = leftnew.concat(center, rightnew)
if (isBigSmall || isBigSmall === true) { //从大到小排练
newArr = newArr.reverse()
}
return newArr
}
function bubblingSortList(index) {
let arrLength = index.length
for (let i = 0; i < arrLength; i++) {
for (let j = 0; j < arrLength; j++) {
if (index[j] > index[j + 1]) {
let num = index[j]
index[j] = index[j + 1]
index[j + 1] = num
}
}
}
return index
}
数组去重ES5
查看代码
function outRepetitionES5(arr) {
let newArr = []
for (let i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i])
}
}
return newArr
}
数组去重ES6
查看代码
function outRepetitionES6(arr) {
return [...new Set(arr)]
}
去除连续字符串
查看代码
//函数
function uniq(str) {
return str.replace(/(\w)\1+/g, '$1')
}
//调用示例
let str = uniq('ijsisiiiisaajjdain')
console.log(str);
范围随机数
查看代码
function randomFun(min, max, arrLength) { // min 随机数最小范围 ,ma随机数最大范围 arrLength[可选参数] 是否以数组的形式返回多个
if (arrLength) { // 没有长度返回单个随机数
singleRandomFun(min, max)
} else { // 返回一个指定长度的数组,每一个都是随机数
let arr = []
for (let i = 0; i < arrLength;i++) {
arr.push(singleRandomFun(min, max))
}
return arr
}
}
//获取单个随机数
function singleRandomFun(min, max) {
return Math.floor(Math.random() * (max - min))
}
生成指定位数验证码
查看代码
//1. 封装函数
function specifiedYZM(numNumber, isLetter) { // 验证码长度[numNumber] 是否有字母[isLetter]
if (numNumber) {
let arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
let arr2 = '1234567890qwertyuiopasdfghjklzxcvbnm'
arr2 = arr2.split('')
let arr = ''
let arrLength = ''
let tar = []
if (isLetter) {
arr = arr2
arrLength = arr2.length
} else {
arr = arr1
arrLength = arr1.length
}
for (let i = 0; i < numNumber; i++) {
tar.push(arr[Math.floor(Math.random() * arrLength)])
}
tar = tar.join('')
return tar
} else {
return '验证码长度不可为空'
}
}
//2. 调用示例
let yanzhengma = specifiedYZM(4, true)
console.log(yanzhengma);
密码强度
查看代码
//封装
function passStrength(stringText) { //[stringText]密码形参
var passLv
if (stringText.length >= 6) {
if (/[0-9]/.test(stringText)) {
passLv = '弱'
}
if (/[a-z]/.test(stringText)) {
passLv = '中'
}
if (/[A-Z]/.test(stringText)) {
passLv = '较强'
}
if (/[\.|-|_]/.test(stringText)) {
passLv = '很强'
}
}else{
passLv = '请输入6位数以上密码'
}
return passLv
}
//调用示例
let pStrength = passStrength('12356')
console.log(pStrength);
邮箱验证正则表达式
查看代码
function isAvailableEmail(sEmail) {
var reg = /^([\w+\.])+@\w+([.]\w+)+$/
return reg.test(sEmail)
}