import { showToast } from '../components/common.js' // 金额校验 export function checkAmt(dPrice) { // 判断是否为空 if(dPrice === '') { showToast('金额不可为空') return false } // 1:判断是否有非法字符 for(var i = 0; i < dPrice.length; i++) { if(isNaN(parseInt(dPrice.charAt(i))) && dPrice.charAt(i) != "." && dPrice.charAt(i) != ","){ showToast('请输入正确的金额') return false } } // 2:如果存在小数点,判断是否仅有一个小数点 if(dPrice.indexOf(".") != dPrice.lastIndexOf(".")) { showToast('请输入正确的金额') return false } // 3:判断金额是否为零 var re = /,/g var amt1 = dPrice.replace(re, "") var amt2 = parseFloat(amt1) if(amt2 <= 0) { showToast('输入金额须大于0') return false } else { // 4:判断金额小数点后是否超过两位 if(amt1.indexOf(".") != -1) { var str = amt1.substr(amt1.indexOf(".") + 1) if(str.length > 2) { showToast('输入金额小数点不可超过两位') return false }else if(str.length === 0) { showToast('请输入正确的金额') return false } } // 5:判断以零开头的金额,小数点是否在第一位 if(amt1.charAt(0) == "0" && amt1.indexOf(".") != 1) { showToast('请输入正确的金额') return false } } return true } // 比较版本号 export function compareVersion(v1, v2){ v1 = v1.split('.') v2 = v2.split('.') let len = Math.max(v1.length, v2.length) while(v1.length num2) { return 1 } else if (num1 < num2) { return -1 } } return 0 } // 根据背景色动态改变字体颜色 export function modifyTextColor(bgColor){ // #123456或rgb(12, 34, 56)转为rgb数组[12, 34, 56] const reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/ if (/^(rgb|RGB)/.test(bgColor)) { // 处理rgb转为数组 let aColor = bgColor.replace(/(?:\(|\)|rgb|RGB)*/g, '').split(',') return resBgColor(aColor) } else if (reg.test(bgColor)) { // 处理十六进制色值 let sColor = bgColor.toLowerCase(); if (sColor && reg.test(sColor)) { if (sColor.length === 4) { let sColorNew = '#' for (let i = 1; i < 4; i += 1) { sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1)) } sColor = sColorNew } //处理六位的颜色值 let sColorChange = [] for (let i = 1; i < 7; i += 2) { sColorChange.push(parseInt('0x' + sColor.slice(i, i + 2))) } return resBgColor(sColorChange) } else { return false } } else { return false } } export function resBgColor(rgbArr){ let color = 0.213 * rgbArr[0] + 0.715 * rgbArr[1] + 0.072 * rgbArr[2] > 255 / 2; return color ? '#333333': '#ded0d0' }