Hi.
Ich denke, die folgende Klasse könnte man gut für eure Sammlung gebrauchen:
public class Validate
{
public static bool IsNaturalNumber(String strNumber)
{
Regex objNotNaturalPattern=new Regex("[^0-9]");
Regex objNaturalPattern=new Regex("0*[1-9][0-9]*");
return !objNotNaturalPattern.IsMatch(strNumber) &&
objNaturalPattern.IsMatch(strNumber);
}
public static bool IsWholeNumber(string strNumber)
{
Regex objNotWholePattern=new Regex("[^0-9]");
return !objNotWholePattern.IsMatch(strNumber);
}
public static bool IsInteger(string strNumber)
{
Regex objNotIntPattern=new Regex("[^0-9-]");
Regex objIntPattern=new Regex("^-[0-9]+$|^[0-9]+$");
return !objNotIntPattern.IsMatch(strNumber) &&
objIntPattern.IsMatch(strNumber);
}
public static bool IsPositiveNumber(string strNumber)
{
Regex objNotPositivePattern=new Regex("[^0-9.]");
Regex objPositivePattern=new Regex("^[.][0-9]+$|[0-9]*[.]*[0-9]+$");
Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
return !objNotPositivePattern.IsMatch(strNumber) &&
objPositivePattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber);
}
public static bool IsNumber(string strNumber)
{
Regex objNotNumberPattern=new Regex("[^0-9.-]");
Regex objTwoDotPattern=new Regex("[0-9]*[.][0-9]*[.][0-9]*");
Regex objTwoMinusPattern=new Regex("[0-9]*[-][0-9]*[-][0-9]*");
String strValidRealPattern="^([-]|[.]|[-.]|[0-9])[0-9]*[.]*[0-9]+$";
String strValidIntegerPattern="^([-]|[0-9])[0-9]*$";
Regex objNumberPattern =new Regex("(" + strValidRealPattern +")|(" + strValidIntegerPattern + ")");
return !objNotNumberPattern.IsMatch(strNumber) &&
!objTwoDotPattern.IsMatch(strNumber) &&
!objTwoMinusPattern.IsMatch(strNumber) &&
objNumberPattern.IsMatch(strNumber);
}
public static bool IsAlpha(string strToCheck){
Regex objAlphaPattern=new Regex("[^a-zA-Z]");
return !objAlphaPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumeric(string strToCheck){
Regex objAlphaNumericPattern=new Regex("[^a-zA-Z0-9]");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
}
Oder eine kleine rekursive Fakultätsberechnung:
public static decimal Faculty(decimal n){
return n==0 ? 1 : (n * Faculty( n-1 ));
}
Und noch was um gaaanz einfach eine Email zu senden:
(gibt false zurück, wenn fehlgeschlagen)
public static bool SendMail(string Subject, string Message, string From, string To, string SmtpServer, string User, string Password){
try{
MailMessage mail = new MailMessage();
MailAddress from = new MailAddress(From);
mail.To.Add(To);
mail.From = from;
mail.Subject = Subject;
mail.Body = Message;
string host = SmtpServer;
int port = 25;
SmtpClient client = new SmtpClient(host, port);
System.Net.NetworkCredential nc = new System.Net.NetworkCredential(User, Password );
client.Credentials = nc;
client.Send(mail);
}catch(Exception){
return false;
}
return true;
}
Ich hoff, ihr könnt sowas brauchen...
niceGreeze
niceBeast
gute Arbeit!
grüße MEt45
Medieval Fantasy Online - ORPG Projekt
.NET - Try and Error - Blog - Gemeinschaftsblog
MEt45's Dev Garage - Eigener Blog
Wäre eine schöne ergenzung zur stringklasse, obwohl ich ausser den mail-teil nichts versteh XD
Gute Arbeit
Aber wofür soll das gut sein? – Advanced Computing Systems Division von IBM, 1968, zum Microchip
^^
Ja. Die Regex Klasse is schon cool.
Ich finds immer gut wenn Leute sich so angagieren, dass auch andere was davon haben.
Also vielen Dank. Werde die Klasse bestimmt mal gebrauchen können.
Yunky: was fürn operator muss ich den nehmen wenn ich sagen will nichtgrößergleich??
Yunky: !>3??
Yunky: !≥ ??
Puppetmaster: G
Yunky: aja ka
Puppetmaster: kleiner (<)
Yunky: stimmt^^
Hi,
Freut mich, wenns euch von nutzen ist.
Jedenfalls wollt ich noch sagen, dass ich beim Beispiel oben vergessen habe, den benötigten Namespace einzufügen.
using System.Text.RegularExpressions;
für die Validate Klasse und
using System.Net.Mail;
für die SendMail-Funktion.
niceGreeze
niceBeast