OSDN Git Service

embr
[embrj/master.git] / signup / main.js
1 (function() {\r
2     \r
3     var translation = {\r
4         'Username has already been taken' : '用户名已经有人使用',\r
5         "Only use letters, numbers and '_'" : '只能使用英文字母、数字及下划线',\r
6         'Email has already been taken.' : '邮箱已经有人使用'\r
7     }\r
8 \r
9     var err = function(textbox, msg) {\r
10         textbox.parent().find('span').addClass('error').html(msg);\r
11     }\r
12     \r
13     var ok = function(textbox) {\r
14         textbox.parent().find('span').removeClass('error').html('<img src="check.gif" alt="ok" />');\r
15     }\r
16     \r
17     var reEmpty = /^\s*$/;\r
18     var reEmail = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;\r
19 \r
20     var urlencode = function(str) {\r
21         return escape(str).replace('+', '%2B').replace('%20', '+').replace('*', '%2A').replace('/', '%2F').replace('@', '%40');\r
22     }\r
23     \r
24     $('#user_name').blur(function() {\r
25         var self = $(this);\r
26         if (reEmpty.test(self.val())) {\r
27             err(self, '姓名不能为空');\r
28             return;\r
29         }\r
30         ok(self);\r
31     });\r
32     \r
33     $('#user_screen_name').blur(function() {\r
34         var self = $(this);\r
35         if (reEmpty.test(self.val())) {\r
36             err(self, '用户名不能为空');\r
37             return;\r
38         }\r
39         $.getJSON('available.php?t=username&v=' + escape(self.val()), function(data) {\r
40             var span = self.parent().find('span');\r
41             if (data.valid) {\r
42                 ok(self);\r
43             } else {\r
44                 err(self, translation[data.msg] || data.msg);\r
45             }\r
46         });\r
47     });\r
48 \r
49     $('#user_email').blur(function() {\r
50         var self = $(this);\r
51         var email = self.val();\r
52         if (!reEmail.test(email)) {\r
53             err(self, '输入的邮箱地址不合法');\r
54             return;\r
55         }\r
56         if (reEmpty.test(email)) {\r
57             err(self, '邮箱不能为空');\r
58             return;\r
59         }\r
60         $.getJSON('available.php?t=email&v=' + urlencode(email), function(data) {\r
61             var span = self.parent().find('span');\r
62             if (data.valid) {\r
63                 ok(self);\r
64             } else {\r
65                 err(self, translation[data.msg] || data.msg);\r
66             }\r
67         });\r
68     });\r
69     \r
70     $('#user_user_password').blur(function() {\r
71         var self = $(this);\r
72         if (self.val().length <= 6) {\r
73             err(self, '密码长度不能小于6位');\r
74             return;\r
75         }\r
76         ok(self);\r
77     });\r
78 \r
79 })();\r