Javascript 搜索文本框需要服务器端验证
我有一个asp.net文本框,它不允许除%以外的特殊字符。我想在服务器端验证这一点。我已经写了代码。但这方面的正则表达式不起作用。我已经用Javascript编写了这段代码。但问题是它没有验证服务器端。请参阅代码以供参考Javascript 搜索文本框需要服务器端验证,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我有一个asp.net文本框,它不允许除%以外的特殊字符。我想在服务器端验证这一点。我已经写了代码。但这方面的正则表达式不起作用。我已经用Javascript编写了这段代码。但问题是它没有验证服务器端。请参阅代码以供参考 <script type="text/javascript"> $(document).ready(function (e) { $('#ctl00_topNavigation_txtSearch').bind('keypress', function (e
<script type="text/javascript">
$(document).ready(function (e) {
$('#ctl00_topNavigation_txtSearch').bind('keypress', function (event) {
if (event.which == 13 || event.keyCode == 13) {
window.location.href = "search.aspx?tx=" + $(this).val();
return false;
} else {
var regex = new RegExp("^[.a-zA-Z0-9\b _ _%]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
}
return true;
});
$('#ctl00_topNavigation_txtSearch').bind("cut copy paste", function (e) {
e.preventDefault();
});
});
$(文档).ready(函数(e){
$('#ctl00_topNavigation_txtSearch').bind('keypress',函数(事件){
if(event.which==13 | | event.keyCode==13){
window.location.href=“search.aspx?tx=”+$(this.val();
返回false;
}否则{
var regex=新的RegExp(“^[.a-zA-Z0-9\b_uz%]+$”;
var key=String.fromCharCode(!event.charCode?event.which:event.charCode);
如果(!正则表达式测试(键)){
event.preventDefault();
返回false;
}
}
返回true;
});
$('#ctl00_topNavigation_txtSearch').bind(“剪切复制粘贴”,函数(e){
e、 预防默认值();
});
});
另外,请参见搜索文本框的html
<asp:TextBox ID="txtSearch" runat="server" class="txtfld-search"></asp:TextBox>
请提供帮助,以便我可以在服务器端验证它。服务器端验证:
<asp:TextBox ID="txtSearch" runat="server" class="txtfld-search"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtSearch" ErrorMessage="*" ValidationGroup="req"
ValidationExpression="^[.a-zA-Z0-9\b _ _%]+$"></asp:RegularExpressionValidator>
$(document).ready(function() {
$('#txtSearch').bind('keypress', function(event) {
if (Page_ClientValidate("req")) //req is the ValidationGroup name
{
//alert("valid");
}
else {
//alert("Invalid");
}
});
});
这段代码有效,我已经测试过了
注意:“req”是RegularExpression验证器的ValidationGroup名称!
希望这对你有帮助 如果您想使用asp.net框架在服务器端执行某些代码,那么您的代码不能使用JavaScript。我添加了更相关的[asp.net]标记。“我已经用Javascript编写了该代码。但问题是它没有验证服务器端。”从什么时候开始使用js在服务器端进行验证?使用
RegularExpressionValidator
。ID未验证正则表达式。“ID未验证正则表达式”?是否要在单击按钮时验证文本框?或者在按键时,您想运行服务器端验证吗?请说清楚!不要说“服务器验证”“不工作”等等!实际上,在放入RegularExpressionValidator之后,代码似乎无法工作。请看js提琴你的提琴没有在屏幕上显示任何东西(文本框)没有呈现:(现在检查:我已经将文本框类型从asp更改为input