我一直在学习正则表达式如何工作,这对我来说非常棘手。我想从输入字段验证下面的字符。基本上,如果字符串包含任何这些字符,alert('bad chars')
我找到了这段代码,但是当我改变它时似乎没有用。如何更改此代码以满足我的需求?
var str = $(this).val();
if(/^[a-zA-Z0-9- ]*$/.test(str) == false) {
alert('bad');
return false;
} else {
alert('good');
}
答案 0 :(得分:1)
您可以尝试以下方法:
if("/[\\/#&]/".test(str) == true) {
alert('bad');
return false;
} else {
alert('good');
}
注意:我不是100%在JavaScript与.NET正则表达式中需要转义的字符,但基本上,我说如果你的字符串包含任何字符{ {1}},\
,/
或#
,然后提醒'不好'。
答案 1 :(得分:1)
/^[a-zA-Z0-9- ]*$/
表示以下内容:
^
字符串必须从这里开始[a-zA-Z0-9- ]
a
和z
大写或小写之间的字母,0
和9
之间的数字,短划线(-
)和空间。*
重复0次或以上$
字符串必须在此结束。如果是“任何字符”,您可以像^
一样使用/^[^\/\\#&]*$/
:^
。如果匹配为true,则它没有任何这些字符。 [
意味着匹配任何不属于以下内容的之后的{{1}}。