Javascript 一个正则表达式,用于检查非数字和非标点字符的长度

Javascript 一个正则表达式,用于检查非数字和非标点字符的长度,javascript,regex,Javascript,Regex,我试图检查一个字符串,它的非数字和非标点字符的长度在3到10之间。但是我认为仅仅用一个正则表达式很难管理它,所以我如何才能做到这一点呢 例如: ,,,,,1231不正常,因为非数字和非标点字符的长度为0 1abcdefghij111可以,因为非数字和非标点字符部分是abcdefghij,长度为10。匹配字符串的开头,然后在字符集中匹配零个或多个数字或标点字符 匹配一个非数字、非标点字符,然后匹配零个或多个数字或标点字符。重复上述3到10次,然后匹配零个或多个数字或标点符号字符,直到到达字符串末尾

我试图检查一个字符串,它的非数字和非标点字符的长度在3到10之间。但是我认为仅仅用一个正则表达式很难管理它,所以我如何才能做到这一点呢

例如:

,,,,,1231
不正常,因为非数字和非标点字符的长度为0


1abcdefghij111
可以,因为非数字和非标点字符部分是
abcdefghij
,长度为10。

匹配字符串的开头,然后在字符集中匹配零个或多个数字或标点字符

匹配一个非数字、非标点字符,然后匹配零个或多个数字或标点字符。重复上述3到10次,然后匹配零个或多个数字或标点符号字符,直到到达字符串末尾

const test=(str)=>{
log(/^[\d,]*(?:[^\d,][\d,]*){3,10}[\d,]*$/.test(str));
};
测试(,,,,,1231');//假的
测试(,,,,,aa');//假的

测试(,,,,,aaa');//正确
是否介于3和10之间?例如,该字符可以出现3到10次;或4至9次;还是两者的结合?此外,非数字和非标点符号是否总是连续/相互接触?@tonitone120字符可以出现3到10次,非数字和非标点符号可以无处不在