数组
1.两个数组比较,删除重复值
var arr1 = ['1', '2', '3']
var arr2 = ['1', '2', '3', '4']
let list = arr2.filter(items => {
if (!arr1.includes(items)) return items
})
console.log(list) // 4
2.两个数组或数组对象取并集、交集、差集(发现一篇很全的文章,链接附上)
原文链接:https://blog.csdn.net/webfullstack/article/details/90041587
字符串
1.判断字符串是否包含指定的字符串
let strings = 'abcdefg12345$#@$%^'
strings.includes('5') //true
2.字符串转数组
const word = 'abcde'
const characters = [...abcde] // ["a", "b", "c", "d", "e"]
3.判断字符串是否为空或者null(公共方法)
export function cell(str) {
str = str || (str == 0 ? str : '---') || (str == null ? str : '---')
str = str == '' ? '---' : str
return str
}
正则校验
1.只能输入数字,小数点后最多x
位小数,x
为几就是限制小数点后几位小数
let regex =/^(\d+.\d{0,x}|\d+)$/
regex.test(value)
2.只能输入正整数
let regex = /^[0-9]*[0-9][0-9]*$/
//或者
value.replace(/[^0-9.]/g,'')
3.手机号校验
let regex = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
//第二种
let regex = /^1[3|5|6|7|8|9]\d{9}$/
4.邮箱格式校验
let regex = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
5.银行卡校验,可以通过阿里的支付宝接口进行校验,能够准确识别是否存在
https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?cardNo=66666&cardBinCheck=true
//接口api:需要传入的2个参数,卡号cardNo和cardBinCheck
//返回结果 bank:所属行 validated:校验结果 cardType:银行卡类型 stat:状态
6.只能输入数字,最多两位小数,最大值为9999.99
<el-input v-model="freight_cost" placeholder="请输入" size="small"></el-input>
//校验规则
rules: {
freight_cost: [
{ required: true, message: '请输入运费成本', trigger: 'blur'},
{
validator(rule, value, callback) {
if (Number(value) < 9999.99) {
callback()
} else {
callback(new Error('最大值为9999.99'))
}
}
},
{ pattern: /^(\d+.\d{0,2}|\d+)$/, message: '请输入数字,最多两位小数,最大9999.99', trigger: 'blur'},
]
}