我的正则表达式看起来像"[a-æøåA-ÆØÅ0-9-/().\s]{1,100}$"
。我想允许来自文本框的用户输入中的一个/
,例如比如"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 :(得分:0)
由于您还检查了字符总数{1,100}
,因此对于一个正则表达式没有简单的解决方案(我能想到)。最简单的方法可能是对/
的出现或总长度进行单独检查。如果你单独检查总长度,你可以使用这样的正则表达式:
"^[a-æøåA-ÆØÅ0-9-().\s]*\/?[a-æøåA-ÆØÅ0-9-().\s]*$"
请注意,我在beginnin处添加了^以指示输入的开始。我不知道你的情况是否有必要,但可能是。
关于安全性:您正在使用InnerText
,它会转义可能包含在输入中的标记,而InnerXml
则不会。所以你应该没事。