2017-02-26 104 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没有。所以你应该没问题。