大家好我正在尝试检查用户输入字符串是否包含空格。我正在使用http://regexr.com/检查我的正则表达式是否正确。仅供参考。似乎是正确的。
但它不起作用,即使有空格,该值仍会返回。我的if语句有什么问题,或者我错过了正则表达式的工作原理。
var regex = /([ ])\w+/g;
if (nameInput.match(regex)||realmInput.match(regex)) {
alert('spaces not allowed');
} else {
//do something else
}
先谢谢
答案 0 :(得分:1)
此正则表达式/([ ])\w+/g
将匹配任何包含空格后跟任意数量的“单词字符”的字符串。例如,这不会捕获字符串末尾的空格,而不会跟踪任何内容。
请尝试使用/\s+/g
。它将匹配任何至少一个空格(包括制表符)的出现。
<强>更新强>
如果您希望仅匹配一个空格,则可以实现这一目的:/ /g
。对括号和括号没有实际需要,因为即使g
标志有一个空格就足够了,它可能只是/ /
。
答案 1 :(得分:0)
您当前的正则表达式与#abc&#39;(末尾带空格字符的单词)不匹配。如果你想确定,你可以在检查之前调整输入:)。
您可以在此处查看https://regex101.com/
仅匹配空格的正确正则表达式是
/([])/ g