我正在尝试构建一个javascript正则表达式,允许用户只输入2个单词,非数字,并且它们之间只有一个空格。我一直在尝试这个:^w+s*w+ ?$但不知道如何避免数字。
你可以试试:
([A-Za-z]+)s([A-Za-z]+)$
如果两个单词只使用字母而不使用任何特殊字符
你可以用最简单的。/^([a-z]+)s+([a-z]+)(s*)$/gi
[a-z]+ tells any character in the alphabet with quantifier of one or more
s* -> is a space with a quantifier of zero or more
i -> on the last part tells case-insensitive matching
let a = 'my Word';
let b = 'oneWord';
let c = 'using three words';
let d = 'onewordwithspace ';
let e = 'my wordwithSpace ';
let regEx = /^([a-z]+)s+([a-z]+)(s*)$/gi;
console.log((regEx.test(a))); // true
console.log((regEx.test(b))); // false
console.log((regEx.test(c))); // false
console.log((regEx.test(d))); // false
console.log((regEx.test(e))); // true