Javascript 将点(.)添加到正则表达式
我希望在下面的函数中为允许的字符添加(Javascript 将点(.)添加到正则表达式,javascript,asp.net,regex,Javascript,Asp.net,Regex,我希望在下面的函数中为允许的字符添加(): $(id).bind('keypress', function(event) { var regex = new RegExp("[()a-zA-Z0-9 ?,/-]"); var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); if (!regex.test(key)) { event.preventDefau
):
$(id).bind('keypress', function(event) {
var regex = new RegExp("[()a-zA-Z0-9 ?,/-]");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
但是,每次我添加它时,都会出现错误:
未捕获的语法错误:无效的正则表达式:/[()a-zA-Z0-9
?,/-.]/:字符类中的范围无序
我只尝试了添加(
)&也尝试了使用(\。
)添加它,但仍然出现相同的错误
请您帮助我添加这个(
)?注意,-
应该在字符类的开头或结尾,或者必须用反斜杠转义,因为它指示的范围与a-z
中的范围相同
/[()a-zA-Z0-9 ?,/.-]/
另外,如果需要动态正则表达式,只需使用如上所述的正则表达式文字,否则必须删除分隔符
/
,并使用实际正则表达式[()a-zA-Z0-9?,/。-]
作为字符串
,可在RegExp
构造函数中使用。请注意,-
应该位于字符类的开头或结尾,或者必须用反斜杠\
转义,因为它指示的范围与a-z
中的范围相同
/[()a-zA-Z0-9 ?,/.-]/
另外,如果需要动态正则表达式,只需像上面那样使用正则表达式文本,否则必须删除分隔符
/
,并使用实际正则表达式[()a-zA-Z0-9?,/.-]
作为字符串,可以在RegExp
构造函数中使用。谢谢,这非常好用,谢谢您的解释。一旦时间限制到期,将标记为答案。@Josh!很高兴能帮上忙:)谢谢,这很好用,谢谢你的解释。一旦时间限制到期,将标记为答案。@Josh!很高兴能帮忙:)