String.StartsWith() मेथड का उपयोग करके स्ट्रिंग किसी विशिष्ट प्रीफिक्स (जैसे URL स्कीम) से शुरू होती है या नहीं, यह जांचा जा सकता है।
उदाहरण
using System;
class Demo {
static void Main() {
string input = "https://example.com/new.html";
// www या नॉन-www दोनों जांचें
if (input.StartsWith("https://www.example.com") ||
input.StartsWith("https://example.com")) {
Console.WriteLine(true);
}
}
}
आउटपुट
True
StartsWith ओवरलोड्स
// केस-सेंसिटिव (डिफॉल्ट)
str.StartsWith("https://");
// केस-इनसेंसिटिव
str.StartsWith("https://", StringComparison.OrdinalIgnoreCase);
// कल्चर-स्पेसिफिक
str.StartsWith("https://", true, CultureInfo.InvariantCulture);
बेहतर URL वैलिडेशन
केवल प्रीफिक्स जांचना पर्याप्त नहीं है। पूर्ण URL वैलिडेशन के लिए:
1. Uri.TryCreate (अनुशंसित)
string input = "https://example.com/new.html";
if (Uri.TryCreate(input, UriKind.Absolute, out Uri uriResult)
&& (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps)) {
Console.WriteLine("Valid HTTP/HTTPS URL");
Console.WriteLine("Host: " + uriResult.Host); // example.com
}
2. Regex (पैटर्न मिलान)
using System.Text.RegularExpressions;
var urlPattern = @"^https?://(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$";
bool isValid = Regex.IsMatch(input, urlPattern);
3. System.ComponentModel.DataAnnotations
using System.ComponentModel.DataAnnotations;
[Url]
public string Website { get; set; } // मॉडल वैलिडेशन में
URL पार्ट्स निकालना
var uri = new Uri("https://user:pass@example.com:8080/path?query=1#fragment");
Console.WriteLine(uri.Scheme); // https
Console.WriteLine(uri.Host); // example.com
Console.WriteLine(uri.Port); // 8080
Console.WriteLine(uri.PathAndQuery); // /path?query=1
Console.WriteLine(uri.Fragment); // #fragment
मुख्य बिंदु
StartsWithकेवल प्रीफिक्स जांचता है, पूर्ण URL वैलिडेशन नहीं करता।Uri.TryCreateमजबूत पार्सिंग और वैलिडेशन प्रदान करता है।- उत्पादन कोड में Regex के बजाय
Uriक्लास प्राथमिकता दें। - यूजर इनपुट को हमेशा सैनिटाइज/वैलिडेट करें।