Laden...

Strings überprüfen,..

Erstellt von niceBeast vor 17 Jahren Letzter Beitrag vor 17 Jahren 4.490 Views
N
niceBeast Themenstarter:in
46 Beiträge seit 2006
vor 17 Jahren
Strings überprüfen,..

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

228 Beiträge seit 2006
vor 17 Jahren

gute Arbeit!

grüße MEt45

Medieval Fantasy Online - ORPG Projekt
.NET - Try and Error - Blog - Gemeinschaftsblog
MEt45's Dev Garage - Eigener Blog

139 Beiträge seit 2006
vor 17 Jahren

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

225 Beiträge seit 2006
vor 17 Jahren

^^

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^^

N
niceBeast Themenstarter:in
46 Beiträge seit 2006
vor 17 Jahren

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