From 90c20a501209a51d85f6376f995af3336d77d144 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 18 Oct 2022 13:37:10 +0800
Subject: [PATCH] 数字验证是否大于999999999或长度大于9
---
src/util/validate.js | 392 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 225 insertions(+), 167 deletions(-)
diff --git a/src/util/validate.js b/src/util/validate.js
index 25ca75c..14cdc71 100644
--- a/src/util/validate.js
+++ b/src/util/validate.js
@@ -3,21 +3,22 @@
*/
export function isvalidUsername(str) {
- const valid_map = ['admin', 'editor']
- return valid_map.indexOf(str.trim()) >= 0
+ const valid_map = ['admin', 'editor']
+ return valid_map.indexOf(str.trim()) >= 0
}
/* 合法uri*/
export function validateURL(textval) {
- const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
- return urlregex.test(textval)
+ const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
+ return urlregex.test(textval)
}
+
/**
* 邮箱
* @param {*} s
*/
export function isEmail(s) {
- return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
+ return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}
/**
@@ -25,7 +26,7 @@
* @param {*} s
*/
export function isMobile(s) {
- return /^1[0-9]{10}$/.test(s)
+ return /^1[0-9]{10}$/.test(s)
}
/**
@@ -33,7 +34,7 @@
* @param {*} s
*/
export function isPhone(s) {
- return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
+ return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}
/**
@@ -41,227 +42,284 @@
* @param {*} s
*/
export function isURL(s) {
- return /^http[s]?:\/\/.*/.test(s)
+ return /^http[s]?:\/\/.*/.test(s)
}
/* 小写字母*/
export function validateLowerCase(str) {
- const reg = /^[a-z]+$/
- return reg.test(str)
+ const reg = /^[a-z]+$/
+ return reg.test(str)
}
/* 大写字母*/
export function validateUpperCase(str) {
- const reg = /^[A-Z]+$/
- return reg.test(str)
+ const reg = /^[A-Z]+$/
+ return reg.test(str)
}
/* 大小写字母*/
export function validatAlphabets(str) {
- const reg = /^[A-Za-z]+$/
- return reg.test(str)
+ const reg = /^[A-Za-z]+$/
+ return reg.test(str)
}
+
/*验证pad还是pc*/
-export const vaildatePc = function() {
- const userAgentInfo = navigator.userAgent;
- const Agents = ["Android", "iPhone",
- "SymbianOS", "Windows Phone",
- "iPad", "iPod"
- ];
- let flag = true;
- for (var v = 0; v < Agents.length; v++) {
- if (userAgentInfo.indexOf(Agents[v]) > 0) {
- flag = false;
- break;
- }
- }
- return flag;
+export const vaildatePc = function () {
+ const userAgentInfo = navigator.userAgent;
+ const Agents = ["Android", "iPhone",
+ "SymbianOS", "Windows Phone",
+ "iPad", "iPod"
+ ];
+ let flag = true;
+ for (var v = 0; v < Agents.length; v++) {
+ if (userAgentInfo.indexOf(Agents[v]) > 0) {
+ flag = false;
+ break;
}
- /**
- * validate email
- * @param email
- * @returns {boolean}
- */
+ }
+ return flag;
+}
+
+/**
+ * validate email
+ * @param email
+ * @returns {boolean}
+ */
export function validateEmail(email) {
- const re = /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
- return re.test(email)
+ const re = /^(([^<>()\\[\]\\.,;:\s@"]+(\.[^<>()\\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
+ return re.test(email)
}
/**
* 判断身份证号码
*/
export function cardid(code) {
- let list = [];
- let result = true;
- let msg = '';
- var city = {
- 11: "北京",
- 12: "天津",
- 13: "河北",
- 14: "山西",
- 15: "内蒙古",
- 21: "辽宁",
- 22: "吉林",
- 23: "黑龙江 ",
- 31: "上海",
- 32: "江苏",
- 33: "浙江",
- 34: "安徽",
- 35: "福建",
- 36: "江西",
- 37: "山东",
- 41: "河南",
- 42: "湖北 ",
- 43: "湖南",
- 44: "广东",
- 45: "广西",
- 46: "海南",
- 50: "重庆",
- 51: "四川",
- 52: "贵州",
- 53: "云南",
- 54: "西藏 ",
- 61: "陕西",
- 62: "甘肃",
- 63: "青海",
- 64: "宁夏",
- 65: "新疆",
- 71: "台湾",
- 81: "香港",
- 82: "澳门",
- 91: "国外 "
- };
- if (!validatenull(code)) {
- if (code.length == 18) {
- if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
- msg = "证件号码格式错误";
- } else if (!city[code.substr(0, 2)]) {
- msg = "地址编码错误";
- } else {
- //18位身份证需要验证最后一位校验位
- code = code.split('');
- //∑(ai×Wi)(mod 11)
- //加权因子
- var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
- //校验位
- var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x'];
- var sum = 0;
- var ai = 0;
- var wi = 0;
- for (var i = 0; i < 17; i++) {
- ai = code[i];
- wi = factor[i];
- sum += ai * wi;
- }
- if (parity[sum % 11] != code[17]) {
- msg = "证件号码校验位错误";
- } else {
- result = false;
- }
-
- }
+ let list = [];
+ let result = true;
+ let msg = '';
+ var city = {
+ 11: "北京",
+ 12: "天津",
+ 13: "河北",
+ 14: "山西",
+ 15: "内蒙古",
+ 21: "辽宁",
+ 22: "吉林",
+ 23: "黑龙江 ",
+ 31: "上海",
+ 32: "江苏",
+ 33: "浙江",
+ 34: "安徽",
+ 35: "福建",
+ 36: "江西",
+ 37: "山东",
+ 41: "河南",
+ 42: "湖北 ",
+ 43: "湖南",
+ 44: "广东",
+ 45: "广西",
+ 46: "海南",
+ 50: "重庆",
+ 51: "四川",
+ 52: "贵州",
+ 53: "云南",
+ 54: "西藏 ",
+ 61: "陕西",
+ 62: "甘肃",
+ 63: "青海",
+ 64: "宁夏",
+ 65: "新疆",
+ 71: "台湾",
+ 81: "香港",
+ 82: "澳门",
+ 91: "国外 "
+ };
+ if (!validatenull(code)) {
+ if (code.length == 18) {
+ if (!code || !/(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(code)) {
+ msg = "证件号码格式错误";
+ } else if (!city[code.substr(0, 2)]) {
+ msg = "地址编码错误";
+ } else {
+ //18位身份证需要验证最后一位校验位
+ code = code.split('');
+ //∑(ai×Wi)(mod 11)
+ //加权因子
+ var factor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
+ //校验位
+ var parity = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2, 'x'];
+ var sum = 0;
+ var ai = 0;
+ var wi = 0;
+ for (var i = 0; i < 17; i++) {
+ ai = code[i];
+ wi = factor[i];
+ sum += ai * wi;
+ }
+ if (parity[sum % 11] != code[17]) {
+ msg = "证件号码校验位错误";
} else {
- msg = "证件号码长度不为18位";
+ result = false;
}
+ }
} else {
- msg = "证件号码不能为空";
+ msg = "证件号码长度不为18位";
}
- list.push(result);
- list.push(msg);
- return list;
+
+ } else {
+ msg = "证件号码不能为空";
+ }
+ list.push(result);
+ list.push(msg);
+ return list;
}
+
/**
* 判断手机号码是否正确
*/
export function isvalidatemobile(phone) {
- let list = [];
- let result = true;
- let msg = '';
- var isPhone = /^0\d{2,3}-?\d{7,8}$/;
- //增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
- if (!validatenull(phone)) {
- if (phone.length == 11) {
- if (isPhone.test(phone)) {
- msg = '手机号码格式不正确';
- } else {
- result = false;
- }
- } else {
- msg = '手机号码长度不为11位';
- }
+ let list = [];
+ let result = true;
+ let msg = '';
+ var isPhone = /^0\d{2,3}-?\d{7,8}$/;
+ //增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
+ if (!validatenull(phone)) {
+ if (phone.length == 11) {
+ if (isPhone.test(phone)) {
+ msg = '手机号码格式不正确';
+ } else {
+ result = false;
+ }
} else {
- msg = '手机号码不能为空';
+ msg = '手机号码长度不为11位';
}
- list.push(result);
- list.push(msg);
- return list;
+ } else {
+ msg = '手机号码不能为空';
+ }
+ list.push(result);
+ list.push(msg);
+ return list;
}
+
/**
* 判断姓名是否正确
*/
export function validatename(name) {
- var regName = /^[\u4e00-\u9fa5]{2,4}$/;
- if (!regName.test(name)) return false;
- return true;
+ var regName = /^[\u4e00-\u9fa5]{2,4}$/;
+ if (!regName.test(name)) return false;
+ return true;
}
+
/**
* 判断是否为整数
*/
export function validatenum(num, type) {
- let regName = /[^\d.]/g;
- if (type == 1) {
- if (!regName.test(num)) return false;
- } else if (type == 2) {
- regName = /[^\d]/g;
- if (!regName.test(num)) return false;
- }
- return true;
+ let regName = /[^\d.]/g;
+ if (type == 1) {
+ if (!regName.test(num)) return false;
+ } else if (type == 2) {
+ regName = /[^\d]/g;
+ if (!regName.test(num)) return false;
+ }
+ return true;
}
+
/**
* 判断是否为小数
*/
export function validatenumord(num, type) {
- let regName = /[^\d.]/g;
- if (type == 1) {
- if (!regName.test(num)) return false;
- } else if (type == 2) {
- regName = /[^\d.]/g;
- if (!regName.test(num)) return false;
- }
- return true;
+ let regName = /[^\d.]/g;
+ if (type == 1) {
+ if (!regName.test(num)) return false;
+ } else if (type == 2) {
+ regName = /[^\d.]/g;
+ if (!regName.test(num)) return false;
+ }
+ return true;
}
+
/**
* 判断是否为空
*/
export function validatenull(val) {
- if (typeof val == 'boolean') {
- return false;
- }
- if (typeof val == 'number') {
- return false;
- }
- if (val instanceof Array) {
- if (val.length == 0) return true;
- } else if (val instanceof Object) {
- if (JSON.stringify(val) === '{}') return true;
- } else {
- if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true;
- return false;
- }
+ if (typeof val == 'boolean') {
return false;
+ }
+ if (typeof val == 'number') {
+ return false;
+ }
+ if (val instanceof Array) {
+ if (val.length == 0) return true;
+ } else if (val instanceof Object) {
+ if (JSON.stringify(val) === '{}') return true;
+ } else {
+ if (val == 'null' || val == null || val == 'undefined' || val == undefined || val == '') return true;
+ return false;
+ }
+ return false;
}
/**
- * 限制数字输入
+ * 限制输入为正整数
* @param rule
* @param value
* @param callback
*/
-export const limitNum = (rule, value, callback) => {
- if (value>9999999999){
- callback(new Error("限制为9999999999以内"));
- }else {
- callback();
+const limitNumInt = (rule, value, callback) => {
+ var reg = /^[1-9]\d*$/
+ if (rule.required) {
+ if (value) {
+ if (!reg.test(value)) {
+ callback(new Error("请输入正整数"))
+ } else {
+ if (value > 999999999) {
+ callback(new Error("请输入999999999以内的数"))
+ } else {
+ callback()
+ }
+ }
+ } else {
+ callback(new Error("请输入正整数"))
}
+ } else {
+ if (value) {
+ if (!reg.test(value)) {
+ callback(new Error("请输入正整数"))
+ } else {
+ if (value > 999999999) {
+ callback(new Error("请输入999999999以内的数"))
+ } else {
+ callback()
+ }
+ }
+ } else {
+ callback()
+ }
+ }
};
+
+const limitNumLength = (rule, value, callback) => {
+ if (rule.required) {
+ if (value) {
+ if (value.toString().length > 9) {
+ callback(new Error("限制输入位数为9位"))
+ } else {
+ callback()
+ }
+ } else {
+ callback(new Error("请输入数字"))
+ }
+ } else {
+ if (value) {
+ if (value.toString().length > 9) {
+ callback(new Error("限制输入位数为9位"))
+ } else {
+ callback()
+ }
+ } else {
+ callback()
+ }
+ }
+}
+ export {limitNumInt,limitNumLength}
--
Gitblit v1.9.3