-
Notifications
You must be signed in to change notification settings - Fork 0
/
一些正则
62 lines (53 loc) · 2.19 KB
/
一些正则
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/* 用户名正则,6到18位(字母,数字,下划线,减号)*/
const reg = /^[a-zA-Z0-9_-]{6,18}$/
/* 密码正则,6到16位字必须数字,字母组合*/
const reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,12}$/
/* 合法uri*/
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.,?'\\+&%$#=~_-]+))*$/
/* 小写字母*/
const reg = /^[a-z]+$/
/* 大写字母*/
const reg = /^[A-Z]+$/
/* 大小写字母*/
const reg = /^[A-Za-z]+$/
/* 邮箱校验*/
const reg = /^(([^<>()\[\]\\.,;:\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,}))$/
/* 纯数字验证*/
const reg = /[^\d]/g
/*价格验证 允许一个小数点或者整数*/
export function validatePrice(str) {
return str.match(/\d{1,}\.{0,1}\d{0,}/) == null ? '' : str.match(/\d{1,}\.{0,1}\d{0,}/)[0]
}
/* 验证手机号*/
var reg = /^((13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])+\d{8})$/
/* 获取字符串长度(一个中文等于2个字符)*/
export function getChineseStrLength(str) {
const chStr = str
const reg = /([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g
return chStr.replace(reg, 'aa').length
}
/**
* 获取字符串长度(
* 一个中文或中文标点算1个字符(2字节),
* 1个英文或英文标点或数字算1字节,
* 奇数时多出来的1个字节也占1字符。)
*
*/
export function getLength(str) {
// 如果传入的是undefined 则不进行正则判断
if(!str){
return
}
console.log(chStr,'chStr')
const chStr = str
const reg = /([\u4E00-\u9FA5]|[\uFE30-\uFFA0]|[^\x00-\xff])/g
// 中文及字符的长度
var Ch = chStr.length - chStr.replace(reg, '').length;
console.log(Ch,'ch')
console.log(chStr,'chStr')
console.log(chStr.length,'chStr.length')
// 非中文字符的长度 2个非中文算一个长度 3个取1个长度
var En = Math.floor(chStr.replace(reg, '').length/2);
console.log(En,'en')
return (Ch + En)
}