如果在javascript中使用.match(正则表达式)的语句没有占用空格

时间:2016-01-22 00:38:40

标签: javascript regex if-statement

大家好我正在尝试检查用户输入字符串是否包含空格。我正在使用http://regexr.com/检查我的正则表达式是否正确。仅供参考。似乎是正确的。

但它不起作用,即使有空格,该值仍会返回。我的if语句有什么问题,或者我错过了正则表达式的工作原理。

 var regex = /([ ])\w+/g;
 if (nameInput.match(regex)||realmInput.match(regex)) {
     alert('spaces not allowed');
 } else {
     //do something else 
 }

先谢谢

2 个答案:

答案 0 :(得分:1)

此正则表达式/([ ])\w+/g将匹配任何包含空格后跟任意数量的“单词字符”的字符串。例如,这不会捕获字符串末尾的空格,而不会跟踪任何内容。

请尝试使用/\s+/g。它将匹配任何至少一个空格(包括制表符)的出现。

<强>更新

如果您希望仅匹配一个空格,则可以实现这一目的:/ /g。对括号和括号没有实际需要,因为即使g标志有一个空格就足够了,它可能只是/ /

答案 1 :(得分:0)

您当前的正则表达式与#abc&#39;(末尾带空格字符的单词)不匹配。如果你想确定,你可以在检查之前调整输入:)。

您可以在此处查看https://regex101.com/

仅匹配空格的正确正则表达式是

  

/([])/ g