1 /^[a-z][a-z0-9_]*$/ 以小写字母开头,且只能包含英文字母、数字、下划线
2
/^[a-zA-Z]w{5,21}$/ 6~20个字符,可以使用字母、数字、下划线,需要以字母开头
3 /^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$/ 8~20个字符,至少包含一个大写、一个小写字母和一个数字
4 /^([a-zA-Z]|[0-9])(w|-)+@[a-zA-Z0-9]+.([a-zA-Z]{2,4})$/ 邮箱
5 /^1d{10}$/ 手机号
1 var passphrase = "*#*9iIdK7XDmeM2o";
2 let {username,password,ok_password,real_name,email,organization,phone} = this.from_data;
3 if(username.length==0){
4 this.err_msg = '用户名不能为空';
5 return;
6 }
7 if(/^[a-zA-Z]w{5,21}$/.test(username)==false){
8 if(username.length>21||username.length<6){
9 this.err_msg = '用户名长度应为6~20个字符';
10 return;
11 }
12 if(/^w+$/.test(username)==false){
13 this.err_msg = '用户名只能输入字母、数字、下划线';
14 return;
15 }
16 if(/^[a-zA-Z]/.test(username)==false){
17 this.err_msg = '用户名只能以字母开头';
18 return;
19 }
20 this.err_msg ='用户名不正确';
21 return;
22
23 }
24 if(password.length==0){
25 this.err_msg = '密码不能为空';
26 return;
27 }
28 if(/^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$/.test(password)==false){
29 if(/^.{8,20}$/.test(password)==false){
30 this.err_msg = '密码长度应为8~20个字符'; return ;
31 }else{
32 this.err_msg = '密码至少包含一个大写、一个小写字母和一个数字'; return ;
33 }
34 }
35 if(password!=ok_password){
36 this.err_msg = '两次密码输入不一致'; return;
37
38 }
39 if(real_name.length==0){
40 this.err_msg = '姓名不能为空';
41 return;
42 }
43 if(email.length==0){
44 this.err_msg = '邮箱不能为空';
45 return;
46 }
47 if(email.length>30){
48 this.err_msg = '邮箱的长度不能超过30个字符'; return
49 }
50 if(/^([a-zA-Z]|[0-9])(w|-)+@[a-zA-Z0-9]+.([a-zA-Z]{2,4})$/.test(email)==false){
51 this.err_msg = '邮箱不正确';
52 return;
53 }
54 if(organization.length==0){
55 this.err_msg = '机构不能为空';
56 return;
57 }
58 if(phone.length==0){
59 this.err_msg = '手机号不能为空';
60 return;
61 }
62 if(/^1d{10}$/.test(phone)==false){
63 this.err_msg = '手机号格式不正确';
64 return;
65 }
66 this.err_msg = '';
67 this.loading = true;
68 let f =JSON.parse(JSON.stringify(this.from_data));
69 f.password = CryptoJS.AES.encrypt(this.from_data.password, passphrase).toString();
70 f.ok_password = f.password