2011-12-01 82 views
0

我想使用正則表達式驗證程序,以確保某個字符串變量包含子字符串"www.youtube.com/watch?v=",我該怎麼做?使用正則表達式驗證器,以確保一個字符串包含特定的子字符串

[RegularExpression()] 
[Required(ErrorMessage = "Youtube link is Required")] 
[StringLength(100, ErrorMessage="Youtube link cannot exceed 50 characters")] 
public string YoutubeLink { get; set; } 
+0

你想要什麼語言的答案?此外,有很多資源顯示如何使用正則表達式來做到這一點 – Boundless

+0

這是在Asp.Net MVC c# –

+1

從你的代碼看起來像我們正在談論的C#(糾正我,如果我錯了(也許添加一個apropreiate標籤)在這種情況下:爲什麼你需要一個正則表達式?'YoutubeLink.Contains(「www.youtube.com/watch?v =」)'將返回是否該子字符串包含在'YoutubeLink'或如果我錯誤的語言,我仍然會猜想這種方法會存在 – Grizzly

回答

0

也許更容易使用類似(蟒蛇):

ytlink = 'www.youtube.com/watch?v=' 
if(ytlink in yourfrase): 
    doYourLogic() 
else: 
    smthElse() 

請糾正我,如果我理解你的問題是錯誤的。

3
if (YoutubeLink.Contains("www.youtube.com/watch?v=")) 
{ 
    //... 
} 

http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx

要使用正則表達式的屬性,您必須指定正則表達式的使用方法:

[RegularExpression("www\\.youtube\\.com/watch\\?v=", ErrorMessage = "Link is incorrect")] 
public string YoutubeLink { get; set; } 

http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.regularexpressionattribute.aspx


我想你可能想要的是檢查對於任何類型的URL開始。在這種情況下,您可以使用@"^(http://)?(www\.)?youtube\.com/watch\?v="作爲正則表達式字符串。

See an example of what this would match

+0

我想使用[RegularExpression()]驗證程序,雖然 –

+1

@ibiza:你*應*引用'.'s,你**必須**引用'?':'@「www \ .youtube \ .com/watch \?v =」'。 – ruakh

+0

@ruakh:你說得對:)鍵入它太快了,現在修復了。 – ibiza

相關問題