JQuery键盘事件&;正则表达式逻辑

JQuery键盘事件&;正则表达式逻辑,jquery,Jquery,我有一个文本框,用户只能在其中键入字母(上下),连字符(-),退格。这些基本上是任何合格的URL名称页面,如Contact/my Contact等 我需要正则表达式和该文本框上键盘键的限制 对于键盘逻辑,下面的代码不能正常工作,所以需要帮助 jQuery('#UrlName').keypress(function (e) { code = e.keyCode ? e.keyCode : e.which; if ((code.toString() > 45 || code.t

我有一个文本框,用户只能在其中键入字母(上下),连字符(-),退格。这些基本上是任何合格的URL名称页面,如Contact/my Contact等

我需要正则表达式和该文本框上键盘键的限制

对于键盘逻辑,下面的代码不能正常工作,所以需要帮助

jQuery('#UrlName').keypress(function (e) {
    code = e.keyCode ? e.keyCode : e.which;
    if ((code.toString() > 45 || code.toString() < 57) && (code.toString() < 97 || code.toString() > 122)) return false;
});
jQuery('#UrlName')。按键(函数(e){
代码=e.keyCode?e.keyCode:e.which;
if((code.toString()>45 | code.toString()<57)和&(code.toString()<97 | code.toString()>122))返回false;
});
像这样:

jQuery('#UrlName').keypress(function (e) {
    if (e.which == 8) return true;
    if (!/[A-Z\-]/i.test(String.fromCharCode(e.which))) return false;           
});

示例:

谢谢。有一个问题,我不能使用退格删除我键入的内容。如果(e.which==8)返回true,请@pirzada
添加到我的答案中