Reg 表达式验证 / \ # & 字符



我一直在学习正则表达式是如何工作的,这对我来说非常棘手。我想从输入字段验证下面的字符。基本上,如果字符串包含这些字符中的任何一个,则alert('bad chars')

  1. /
  2. \
  3. #
  4. &

我找到了这个代码,但当我改变它时似乎不起作用。如何更改此代码以满足我的需求?

var str = $(this).val();
if(/^[a-zA-Z0-9- ]*$/.test(str) == false) {
    alert('bad');
    return false;
} else {
    alert('good');
}

/^[a-zA-Z0-9- ]*$/的含义如下:

  • ^字符串必须从这里开始
  • [a-zA-Z0-9- ]介于az之间的大写或小写字母,介于09之间的数字,短划线(-)和空格
  • *重复0次以上
  • $字符串必须在此处结束

在"除之外的任何字符"的情况下,您可以使用类似的^/^[^/\#&]*$/。如果匹配,那么它就没有这些字符。紧接在[之后的^意味着匹配任何不是以下的内容。

您可以尝试以下操作:

if("/[\/#&]/".test(str) == true) {
    alert('bad');
    return false;
} else {
    alert('good');
}

注意:我不是100%确定JavaScript与.NET正则表达式中需要转义哪些字符,但基本上,我的意思是,如果您的字符串包含任何字符/#&,则提醒"坏"。

相关内容

  • 没有找到相关文章

最新更新