Javascript 如何使用正则表达式允许空字符串或至少6个字符?

Javascript 如何使用正则表达式允许空字符串或至少6个字符?,javascript,regex,Javascript,Regex,我有一些正则表达式,可以测试字符串是否至少有6个字符。虽然我也希望它是真的,如果只有一个空字符串也 正则表达式: let regexToTestName = /^[a-zA-Z0-9.!@#$%^&*()_-]{6,}$/g; let usedName = ''; //or let usedName = 'atLeast6Char'; let isNameMatch = regexToTestName.test(usedName); 如您所见,它将适用于指定长度至少为6的字符。但是,如

我有一些正则表达式,可以测试字符串是否至少有6个字符。虽然我也希望它是真的,如果只有一个空字符串也

正则表达式:

let regexToTestName = /^[a-zA-Z0-9.!@#$%^&*()_-]{6,}$/g;
let usedName = ''; //or let usedName = 'atLeast6Char';
let isNameMatch = regexToTestName.test(usedName);
如您所见,它将适用于指定长度至少为6的字符。但是,如果它是空字符串,如何获得真值呢?

使用管道和分组来实现这两个功能

^([/w]{6,0})|([\w]{0,0})$
使用管道和分组来完成这两项工作

^([/w]{6,0})|([\w]{0,0})$

以下表达式将匹配任何字符的整个字符串^$。如果有{0}个空字符串或|它将匹配6个或更多{6,},方法是指定一个范围,该范围仅包含from索引、逗号和no to索引。or表达式必须包装在一个组中

变量re=/^.{0}|.{6,}$/; console.log,重新测试; 控制台日志'1',重新测试'1'; 控制台日志'12',重新测试'12'; 控制台日志'123',重新测试'123'; 控制台日志'1234',重新测试'1234'; 控制台日志'12345',重新测试'12345'; 控制台日志'123456',重新测试'123456'; 控制台日志'1234567',重新测试'1234567';
控制台日志'12345678',重新测试'12345678' 以下表达式将匹配任何字符的整个字符串^$。如果有{0}个空字符串或|它将匹配6个或更多{6,},方法是指定一个范围,该范围仅包含from索引、逗号和no to索引。or表达式必须包装在一个组中

变量re=/^.{0}|.{6,}$/; console.log,重新测试; 控制台日志'1',重新测试'1'; 控制台日志'12',重新测试'12'; 控制台日志'123',重新测试'123'; 控制台日志'1234',重新测试'1234'; 控制台日志'12345',重新测试'12345'; 控制台日志'123456',重新测试'123456'; 控制台日志'1234567',重新测试'1234567';
控制台日志'12345678',重新测试'12345678' 只需将字符串设置为可选?:

var re=/^\S{6,}$/ console.log,重新测试; console.log'a',re.test'a'; 控制台.日志'abcde',重新测试'abcde';
console.log'abcdefg',re.test'abcdefg' 只需将字符串设置为可选?:

var re=/^\S{6,}$/ console.log,重新测试; console.log'a',re.test'a'; 控制台.日志'abcde',重新测试'abcde';
console.log'abcdefg',re.test'abcdefg';在更新的过程中。在更新的过程中。