常用正则

75 阅读2分钟

import api from 'api'

export const ptn = {

integer_num: function () {

return '^-?\\d+$'

},

phone: function () {

// return '^1(3|4|5|7|8)\\d{9}$'

return '^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\\d{8}$'

},

// 中英文数字

cn_en_num: function (min = 0, max = 9999) {

return '^[A-Za-z0-9\u4e00-\u9fa5 ]{' + min + ',' + max + '}$'

},

// 中英文数字点

cn_en_num_point: function (min = 0, max = 9999) {

return '^[A-Za-z0-9\u4e00-\u9fa5.{}]{' + min + ',' + max + '}$'

},

// 中英文数字冒号

cn_en_num_colon: function (min = 0, max = 9999) {

return '^[A-Za-z0-9\u4e00-\u9fa5:{}]{' + min + ',' + max + '}$'

},

// 正整数方式二,允许包含0,如10,20等

positive_interger_two: function () {

return '^[1-9][0-9{}]{0,10}$'

},

request_api: function (min = 0, max = 9999) {

return '^(((https|http)?:\\/\\/)|(\\/))[^\\s]{' + min + ',' + max + '}$'

},

// IP + 端口号

ip_and_port: function () {

return '^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\:([0-9]|[1-9]\\d{1,3}|[1-5]\\d{4}|6[0-5]{2}[0-3][0-5])$'

},

// 中文数字

cn_num: function (min = 0, max = 9999) {

return '^[0-9\u4e00-\u9fa5]{' + min + ',' + max + '}$'

},

// 英文数字

en_num: function (min = 0, max = 9999) {

return '^[A-Za-z0-9 ]{' + min + ',' + max + '}$'

},

orgCode: function (min = 0, max = 9999) {

return '^[A-Za-z0-9 ]{' + min + ',' + max + '}$'

},

// 英文数字反斜杠

en_num_backslash: function (min = 0, max = 9999) {

return '^[/a-zA-Z0-9{}}]{' + min + ',' + max + '}$'

},

// 英文数字下划线

en_num_line: function (min = 0, max = 9999) {

return '^[_a-zA-Z0-9 ]{' + min + ',' + max + '}$'

},

// 英文下划线

en_line: function (min = 0, max = 9999) {

return '^[_a-zA-Z ]{' + min + ',' + max + '}$'

},

// 数字、字母、下划线、小数点

cn_en_num_underline: function (min = 0, max = 9999) {

return '^[_.A-Za-z0-9\u4e00-\u9fa5 ]{' + min + ',' + max + '}$'

},

// 大写字母,+,-,&,_和/

en_code: function (min = 0, max = 9999) {

return '^[&/A-Z_+-]{' + min + ',' + max + '}$'

},

// 英文数字点

en_num_point: function (min = 0, max = 9999) {

return '^[a-zA-Z0-9.' +

'' +

' ]{' + min + ',' + max + '}$'

},

// 中文、英文、数字及下划线

cn_en_num_line: function (min = 0, max = 9999) {

return '^[\u4e00-\u9fa5_a-zA-Z0-9 ]{' + min + ',' + max + '}$'

},

// 正整数

positive_interger: function () {

return '^[1-9]+\\d*$'

},

// 中文

cn: function (min = 0, max = 9999) {

return '^[\u4e00-\u9fa5]{' + min + ',' + max + '}$'

},

// 英文

en: function (min = 0, max = 9999) {

return '^[A-Za-z ]{' + min + ',' + max + '}$'

},

// 中文、英文、数字及中划线

cn_en_num_cen_line: function (min = 0, max = 9999) {

return '^[A-Za-z0-9-\u4e00-\u9fa5 ]{' + min + ',' + max + '}$'

},

// 英文中文

en_cn: function (min = 0, max = 9999) {

return '^[A-Za-z\u4e00-\u9fa5]{' + min + ',' + max + '}$'

},

// 英文中文分号

en_cn_semicolon: function (min = 0, max = 9999) {

return '^[;A-Za-z\u4e00-\u9fa5]{' + min + ',' + max + '}$'

},

// 通配限制长度

all_match: function (min = 0, max = 9999) {

return '^[\\s\\S]{' + min + ',' + max + '}$'

},

// // 英文,点,中划线和下划线

// en_dot_line: function (min = 0, max = 9999) {

// return '^[-A-Za-z\._]{' + min + ',' + max + '}$'

// },

// 数字

number: function (min = 0, max = 9999) {

return '^[0-9]{' + min + ',' + max + '}$'

},

// 英文和常用字符

en_common_character: function (min = 0, max = 9999) {

return '^[^0-9^\u4e00-\u9fa5^ ]{' + min + ',' + max + '}$'

},

// 不带空白字符英文数字

pure_en_num: function (min = 0, max = 9999) {

return '^[A-Za-z0-9]{' + min + ',' + max + '}$'

},

email: function (min = 0, max = 9999) {

return '^[-a-zA-Z0-9.-_\u4e00-\u9fa5]+@[a-zA-Z0-9-_]+(\\.[A-Za-z0-9-_]+)+$'

},

// 组织机构重复校验 oem

checkOrgCode: function (rule, value, callback) {

api.checkOrgCode(value).then(res => {

if (!res.success) {

return callback(new Error('组织机构代码重复'))

} else {

return callback()

}

})

},

orgCodeType: function (rule, value, callback) {

console.log(rule, value, callback)

},

// 手机号重复校验

checkPhoneUnique: function (rule, value, callback) {

api.checkPhoneUnique(value).then(res => {

if (!res.success) {

return callback(new Error('手机号码重复,请重新输入!'))

} else {

return callback()

}

})

},

//

// 邮箱重复校验

checkEmailUnique: function (rule, value, callback) {

api.checkEmailUnique(value).then(res => {

if (!res.success) {

return callback(new Error('邮箱重复,请重新输入!'))

} else {

return callback()

}

})

},

// 邮箱重复校验

checkUserCodeUnique: function (rule, value, callback) {

api.checkUserCodeUnique(value).then(res => {

if (!res.success) {

return callback(new Error('SESA重复,请重新输入!'))

} else {

return callback()

}

})

},

// 分销商编码重复校验

validateDistributorCode: function (rule, value, callback) {

api.validateDistributorCode(value).then(res => {

if (!res.success) {

return callback(new Error('分销商编码重复,请重新输入!'))

} else {

return callback()

}

})

},

// crt

checkCrtOrgCode: function (rule, value, callback) {

api.checkCrtNewAccountOrgCode(value).then(res => {

if (!res.success) {

return callback(new Error('组织机构代码重复'))

} else {

return callback()

}

})

},

checkFcst: function (min = 0, max = 9999) {

return '^[1-9]|^(\[1-9\]\\\\d{1,2})|^([1]\\d{1,3})2000|^2000'

}

}