2017-02-26 100 views
0

我有一個像這樣的正則表達式"[a-æøåA-ÆØÅ0-9-/().\s]{1,100}$"。我希望允許ONE /用於來自文本框的用戶輸入,例如,如"3/4 inch fitting bla bla"。 我怎樣才能以安全的方式做到這一點,並且安全呢? 我的查詢看起來像這樣。如何只允許一個/在正則表達式

XmlElement bemærkning = xmldoc.CreateElement("Bemærkning"); 
bemærkning.InnerText = txtBemærkningWT.Text; 

//XmlElement usernamePCxml = xmldoc.CreateElement("UsernamepcXML"); 
//usernamePCxml.InnerText = usernamePC.ToString(); 

parentelement.AppendChild(type); 
parentelement.AppendChild(art); 
parentelement.AppendChild(l); 
parentelement.AppendChild(bemærkning); 
parentelement.AppendChild(varenummer); 
parentelement.AppendChild(opretter); 
parentelement.AppendChild(date); 

//parentelement.AppendChild(usernamePCxml); 

xmldoc.DocumentElement.AppendChild(parentelement); 
xmldoc.Save(Server.MapPath(map)); 

回答

0

既然你也檢查字符總數{1,100}有沒有簡單的解決方案(即我能想到的)一個正則表達式。最簡單的方法可能是對/的發生或整體長度進行單獨檢查。如果檢查總長分開,你可以使用這樣的正則表達式:

"^[a-æøåA-ÆØÅ0-9-().\s]*\/?[a-æøåA-ÆØÅ0-9-().\s]*$" 

注意,我添加了一個在擱指示輸入的開始^。我不知道你的情況是否有必要,但可能是這樣。

關於安全性:您正在使用InnerText,其中可能包含在輸入中的標記轉義,InnerXml沒有。所以你應該沒問題。