消息关闭
    暂无新消息!
正则表达式验证前台控件如下:


<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
 <asp:Button ID="btnUpload" runat="server" Text="上传" OnClick="btnUpload_Click" CssClass="minbtn" />
<asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ControlToValidate="FileUpload1" ErrorMessage="只能上传office文档、表格和图片文件。" ValidationExpression="^(([\u4e00-\u9fa5])|(\w))+(.doc|.docx|.xls|.xlsx|.jpg|.gif)$"></asp:RegularExpressionValidator> 
</div>



ValidationExpression="^(([\u4e00-\u9fa5])|(\w))+(.doc|.docx|.xls|.xlsx|.jpg|.gif)$" 这段正则经过站长之家正则表达式的验证都没有问题,但是写上之后,无论是上传什么文件都不能通过正则验证。

6个回答

︿ 1
正则表达式换成:
ValidationExpression="((\w)|([\u4e00-\u9fa5]))+(.doc|.docx|.xls|.xlsx|.jpg|.gif)"


还是不能正确匹配,在HTML源文件中全部都在原斜杠上加了双斜杠。
︿ 0
发现改成如下还是不行:
ValidationExpression=".+\.(doc|docx|xls|xlsx|jpg|gif)"

正则控件验证的是FileUpload控件,是不是在哪里应该修改某个属性值?

︿ 0
所有的asp.net控件都要解析为静态的html的,你直接在html源文件里 查看验证的js 就比较容易找到问题了