⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mystring.cpp

📁 AA制消费管理系统(简易型) 实现账户信息
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#include "link.h"
/***********************************************************************
默认构造函数
***********************************************************************/
CMyString::CMyString()
{
}
/***********************************************************************
默认析构函数
***********************************************************************/
CMyString::~CMyString()
{
}
/***********************************************************************
拷贝函数
***********************************************************************/
CMyString::CMyString(CMyString &str)
{
}
/***********************************************************************
构造函数
***********************************************************************/
CMyString::CMyString(string str)
{
}
/*******************************************************************************/
/*去除左空格                                                                   */
/*******************************************************************************/
void CMyString::RemoveLeftBlank(string &str)
{
	for(int i=0;i<str.length();i++)
	{
		if(str[i]==' ')
		{
			str.erase(0,1);
			i--;
		}
		else
			break;
	}
}
/*******************************************************************************/
/*去除右空格                                                                   */
/*******************************************************************************/
void CMyString::RemoveRightBlank(string &str)
{
	for(int i=str.length()-1;i!=0;i--)
	{
		if(str[i]==' ')
		{
			str.erase(i,1);
		}
		else
			break;
	}
}
/*******************************************************************************/
/*去除中间多余空格                                                             */
/*******************************************************************************/
void CMyString::RemoveMiddleBlank(string &str)
{
	int i;
	while(1)
	{
		if(str.find("  ")==string::npos)
			break;
		i=str.find("  ");
		str.replace(i,2," ");
	}
}
/*******************************************************************************/
/*去除所有空格                                                                 */
/*******************************************************************************/
void CMyString::RemoveAllBlank(string &str)
{
	RemoveLeftBlank(str);
	RemoveRightBlank(str);
	int i;
	while(1)
	{
		if(str.find(" ")==string::npos)
			break;
		i=str.find(" ");
		str.replace(i,1,"");
	}
}
/*******************************************************************************/
/*去除左0                                                                      */
/*******************************************************************************/
void CMyString::RemoveLeftZero(string &str)
{
	for(int i=0;i<str.length();i++)
	{
		if(str[i]=='0')
		{
			str.erase(i,1);
			i--;
		}
		else
			break;
	}
}
/*******************************************************************************/
/*去除多余“\”                                                                  */
/*******************************************************************************/
void CMyString::RemoveMiddleBias(string &str)
{
	int i;
	while(1)
	{
		if(str.rfind("\\\\")==string::npos)
			break;
		i=str.rfind("\\\\");
		str.replace(i,2,"\\");
	}
}
/*******************************************************************************/
/*去除多余“/”                                                                */
/*******************************************************************************/
void CMyString::RemoveMiddleBackBias(string &str)
{
	int i;
	while(1)
	{
		if(str.rfind("//")==string::npos)
			break;
		i=str.rfind("//");
		str.replace(i,2,"/");
	}
}
/*******************************************************************************/
/*姓名合法性验证                                                               */
/*******************************************************************************/
bool CMyString::CheckName(string &name)
{
	string setName="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' '";
	RemoveLeftBlank(name);
	RemoveRightBlank(name);
	int len;
	len=name.length();
	if(len<=0)
	{
		CMessageBox::ShowMessage("Name cannot be null!");
		return false;
	}
	if(len>20)
	{
		CMessageBox::ShowMessage("Name length is too long!");
		return false;
	}
	int first;
	first=name.find_first_not_of(setName);
	if(first!=string::npos)
	{
		CMessageBox::ShowMessage("Name must be letters or space!");
		return false;
	}
	RemoveMiddleBlank(name);
	return true;
}
/*******************************************************************************/
/*性别合法性验证                                                               */
/*******************************************************************************/
bool CMyString::CheckSex(string &sex)
{
	RemoveLeftBlank(sex);
	RemoveRightBlank(sex);
	int len=sex.length();
	if(len<=0)
	{
		CMessageBox::ShowMessage("Input cannot be null!");
		return false;
	}
	if(sex!="f"&&sex!="F"&&sex!="M"&&sex!="m")
	{
		CMessageBox::ShowMessage("Input must be M or F!");
		return false;
	}
	return true;
}
/*******************************************************************************/
/*电话合法性验证                                                               */
/*******************************************************************************/
bool CMyString::CheckMobile(string &mobile)
{
	string setMobile="0123456789";
	RemoveLeftBlank(mobile);
	RemoveRightBlank(mobile);
	int len=mobile.length();
	if (len==0)
	{
		mobile="Null";
		return true;
	}
	int first;
	first=mobile.find_first_not_of(setMobile);
	if (first!=string::npos)
	{
		CMessageBox::ShowMessage("Mobile must be digit[0-9] !!");
		return false;
	}
	
	if (len>12||len<11)
	{
		CMessageBox::ShowMessage("Mobile number must be 11-12 !");
		return false;
	}
	if (mobile[0]=='0')
	{
		if (len!=12)
		{
			CMessageBox::ShowMessage("Mobile number begin as 0 must be 12 !exp:013512345678");
			return false;
		}
	}
	else
	{
		if (len!=11)
		{
			CMessageBox::ShowMessage("Mobile number not begin as 0 must be 11 !exp:13512345678");
			return false;
		}
	}
	return true;


}
/************************************************************************/
/* 日期合法性验证                                                       */
/************************************************************************/
bool CMyString::CheckDate(string &date)
{
	string setDate="0123456789'-'";
	RemoveLeftBlank(date);
	RemoveRightBlank(date);
	int len=date.length();
	if (len==0)
	{
		date="Null";
		return true;
	}
	if (len<8)
	{
		CMessageBox::ShowMessage("Date input illegal,please input again ! exp:2000-12-11");
		return false;
	}
	int first;
	first=date.find_first_not_of(setDate);
	if (first!=string::npos)
	{
		CMessageBox::ShowMessage("Date input illegal,please input again ! exp:2000-12-11");
		return false;
	}
	char temp[10];
	int tempdate[3]={0};
	for (int i=0,j=0,k=0;i<len;i++)
	{
		if (date[i]=='-')//2000-2-2
		{
			temp[j]='\0';
			tempdate[k]=atoi(temp);
			k++;
			j=0;
			continue;
				
		}
		else if (date[i]!='-')
		{
			temp[j]=date[i];
			j++;
			if (i==len-1)
			{
				temp[j]='\0';
				tempdate[k]=atoi(temp);
			}
			continue;
		}
	}
	if (tempdate[0]>2010||tempdate[0]<1900)
	{
		CMessageBox::ShowMessage("Date year must be between 1900-1-1 to 2010-12-31 !");
		return false;
	}
	if (tempdate[1]>12||tempdate[1]<1)
	{
		CMessageBox::ShowMessage("Date input illegal ! exp:2000-12-11");
		return false;
	}
	if ((tempdate[0]%4==0 && tempdate[0]%100!=0)||tempdate[0]%400==0)//如果是闰年
	{
		
		if (tempdate[1]==2)//如果是2月
		{
			if(tempdate[2]>29)
			{
				CMessageBox::ShowMessage("Date input illegal ! exp:2000-2-29");
				return false;
			}
		}
	}
	else 
	{	
		if (tempdate[1]==2)//如果是2月
		{
			if(tempdate[2]>28)
			{
				CMessageBox::ShowMessage("Date input illegal ! exp:2001-2-28");
				return false;
			}
		}
	}
	if (tempdate[1]==1 ||tempdate[1]==3 ||tempdate[1]==5 ||tempdate[1]==7 ||tempdate[1]==8 ||tempdate[1]==10 ||tempdate[1]==12)
	{
		if (tempdate[2]>31)
		{
			CMessageBox::ShowMessage("Date input illegal ! exp:2000-3-31");
			return false;
		}
	}
	else
	{
		if (tempdate[2]>30)
		{
			CMessageBox::ShowMessage("Date input illegal ! exp:2000-6-30");
			return false;
		}
	}
	
	return true;	
}
/*******************************************************************************/
/*编号id合法性验证                                                             */
/*******************************************************************************/
bool CMyString::CheckID(string &id)
{
	RemoveLeftBlank(id);
	RemoveRightBlank(id);
	int len=id.length();
	if(len==0)
	{
		CMessageBox::ShowMessage("Input cannot be null !");
		return false;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -