大家好,我正在尝试检查用户输入字符串是否包含空格。我正在使用http://regexr.com/检查我的正则表达式是否正确。仅供引用,正则表达式新手。看来是正确的。
但是不行,即使有空格,值仍然会被返回。我的 if 语句有问题吗?还是我错过了正则表达式的工作原理。
var regex = /([ ])\w+/g;
if (nameInput.match(regex)||realmInput.match(regex)) {
alert('spaces not allowed');
} else {
//do something else
}
提前致谢
最佳答案
此正则表达式 /([ ])\w+/g
将匹配包含空格后跟任意数量的“单词字符”的任何字符串。例如,这不会捕获字符串末尾的空格,后面没有任何内容。
尝试使用 /\s+/g
代替。它将匹配至少一个空格(包括制表符)的任何出现。
更新:
如果您只想匹配一个空格,则可以这样做://g
。没有真正需要方括号和圆括号,而且由于一个空格就足够了,即使 g
标志也有点过时了,它可能只是 //
。
关于javascript - javascript 中带有 .match(regex) 的 If 语句不拾取空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937055/