From 6b33b2191f21f6cb0ea5d8490610704b29bbc98e Mon Sep 17 00:00:00 2001
From: in2 <in2@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>
Date: Sun, 7 Jul 2002 14:36:21 +0000
Subject: register

git-svn-id: http://opensvn.csie.org/pttbbs/pttbbs/trunk/pttbbs@416 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
---
 mbbsd/user.c | 43 ++++++++++++++++++++++++++++++++-----------
 1 file changed, 32 insertions(+), 11 deletions(-)

diff --git a/mbbsd/user.c b/mbbsd/user.c
index f5615a88..ed45b306 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -1,4 +1,4 @@
-/* $Id: user.c,v 1.28 2002/07/05 17:10:28 in2 Exp $ */
+/* $Id: user.c,v 1.29 2002/07/07 14:36:21 in2 Exp $ */
 #include "bbs.h"
 
 static char    *sex[8] = {
@@ -1045,22 +1045,43 @@ u_register(void)
 	while (1) {
 	    getfield(7, "�Ǯ�(�t\033[1;33m�t�Ҧ~��\033[m)�γ��¾��",
 		     "�A�ȳ��", career, 40);
-	    if (removespace(career) && career[0] < 0 && strlen(career) >= 4)
-		break;
-	    vmsg("�z����J�����T");
+	    if(!(removespace(career) && career[0] < 0 && strlen(career) >= 4)){
+		vmsg("�z����J�����T");
+		continue;
+	    }
+	    if( strcmp(&career[strlen(career) - 2], "�j") == 0 ||
+		strcmp(&career[strlen(career) - 4], "�j��") == 0 ){
+		vmsg("�·нХ[�t��");
+		continue;
+	    }
+	    break;
 	}
 	while (1) {
-	    getfield(9, "�t�����Ϊ��츹�X(�x�_�Х[\033[1;33m��F��\033[m)",
+	    getfield(9, "�t\033[1;33m����\033[m�Ϊ��츹�X"
+		     "(�x�_�Х[\033[1;33m��F��\033[m)",
 		     "�ثe���}", addr, 50);
-	    if (removespace(addr) && addr[0] < 0 && strlen(addr) >= 15)
-		break;
-	    vmsg("�o�Ӧa�}�ä��X�k");
+	    if( !removespace(addr) || addr[0] > 0 || strlen(addr) < 15 ){
+		vmsg("�o�Ӧa�}�ä��X�k");
+		continue;
+	    }
+	    if( strstr(addr, "�H�c") != NULL ||	strstr(addr, "�l�F") != NULL ){
+		vmsg("��p�ڭ̤������l�F�H�c");
+		continue;
+	    }
+	    if( strstr(addr, "��") == NULL && strstr(addr, "��") == NULL ){
+		vmsg("�o�Ӧa�}�ä��X�k");
+		continue;
+	    }
+	    break;
 	}
 	while (1) {
 	    getfield(11, "���[-(), �]�A���~�ϸ�", "�s���q��", phone, 11);
-	    if (removespace(phone) && phone[0] == '0' && strlen(phone) >= 9)
-		break;
-	    vmsg("�o�ӹq�ܸ��X�ä��X�k");
+	    if( !removespace(phone) || phone[0] != '0' ||
+		strlen(phone) < 9 || phone[1] == '0' ){
+		vmsg("�o�ӹq�ܸ��X�ä��X�k");
+		continue;
+	    }
+	    break;
 	}
 	getfield(13, "�u��J�Ʀr �p:0912345678 (�i����)",
 		 "������X", mobile, 20);
-- 
cgit v1.2.3