added: to misc:
void OnlyDigit(StringType & s, bool allow_comma = true) removes all non-digit characters from a string git-svn-id: svn://ttmath.org/publicrep/winix/trunk@818 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
b7007da5a9
commit
0b528c7225
|
@ -622,11 +622,11 @@ std::wstring::size_type i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool IsEmailCorrectChar(wchar_t c)
|
bool IsEmailCorrectChar(wchar_t c)
|
||||||
{
|
{
|
||||||
bool correct = false;
|
bool correct = false;
|
||||||
|
|
||||||
const wchar_t * allowed_chars = L"@.!#$%&'*+-/=?^_`{|}~";
|
const wchar_t * allowed_chars = L"@.!#$%&'*+-/=?^_`{|}~";
|
||||||
|
|
||||||
if( (c >= 'A' && c<='Z') ||
|
if( (c >= 'A' && c<='Z') ||
|
||||||
|
@ -646,12 +646,12 @@ bool correct = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return correct;
|
return correct;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
bool ValidateEmail(const wchar_t * email)
|
bool ValidateEmail(const wchar_t * email)
|
||||||
{
|
{
|
||||||
int at = 0; // how many '@'
|
int at = 0; // how many '@'
|
||||||
|
@ -674,13 +674,13 @@ bool ValidateEmail(const wchar_t * email)
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool ValidateEmail(const std::wstring & email)
|
bool ValidateEmail(const std::wstring & email)
|
||||||
{
|
{
|
||||||
return ValidateEmail(email.c_str());
|
return ValidateEmail(email.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
36
core/misc.h
36
core/misc.h
|
@ -258,6 +258,42 @@ void MaxSize(StringType & str, size_t max_size)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
this method removing all characters from given string
|
||||||
|
only digits are allowed and if allow_comma then one comma (or dot)
|
||||||
|
character is allowed
|
||||||
|
*/
|
||||||
|
template<class StringType>
|
||||||
|
void OnlyDigit(StringType & s, bool allow_comma = true)
|
||||||
|
{
|
||||||
|
typename StringType::size_type i;
|
||||||
|
bool was_comma = false;
|
||||||
|
|
||||||
|
if( s.empty() )
|
||||||
|
{
|
||||||
|
s = '0';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(i=0 ; i<s.size() ; )
|
||||||
|
{
|
||||||
|
if( (s[i]>='0' && s[i]<='9') ||
|
||||||
|
(allow_comma && !was_comma && (s[i]=='.' || s[i]==',')) )
|
||||||
|
{
|
||||||
|
if( s[i]=='.' || s[i]==',' )
|
||||||
|
was_comma = true;
|
||||||
|
|
||||||
|
i += 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s.erase(i, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
wchar_t ToSmall(wchar_t c);
|
wchar_t ToSmall(wchar_t c);
|
||||||
void ToSmall(std::wstring & s);
|
void ToSmall(std::wstring & s);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue