我要求用户输入A
或B
,且长度不得超过1。
我已经尝试了这个,但它不起作用:
inputValue.replace( /[A|B]/{1}g, '');
任何建议?
答案 0 :(得分:0)
你真的需要一个正则表达式吗?
测试if(inputValue == 'A' || inputValue == 'B')
似乎已经足够了。
无论如何,使用正则表达式,它可能是这样的:
console.log(/^[AB]$/g.test('A')); // true
console.log(/^[AB]$/g.test('B')); // true
console.log(/^[AB]$/g.test('AB')); // false

使用replace()
,您可以使用[^AB]
删除任何不是A或B的字符。然后,由于您只需要1个字符,因此您可以使用charAt(0)
获取结果中的第一个字符:
console.log('abcABC-*/+"@'.replace(/[^AB]/g, '').charAt(0));