regexp没有正确的测试

时间:2017-08-31 20:31:29

标签: javascript regex

我有正则表达式:

/^([\u00c0-\u01ffa-zA-Z]+['-]{0,1}){3,30}$/

这意味着我可以使用3-30个字符,但我的上限不起作用。以下是35个字符的示例:

/^([\u00c0-\u01ffa-zA-Z]+['-]{0,1}){3,30}$/.test('TXTGWDRWHWTXTGSXYEWGUAHZXQCWDRWHWTX');

它返回true,但应该返回false

1 个答案:

答案 0 :(得分:0)

这些长度问题中的每一个都是不同的 没有两个是相似的。

对于这个我建议

/^[\u00c0-\u01ffa-zA-Z]{2,29}[\u00c0-\u01ffa-zA-Z'-]$/.test('TXTGWDRWHWTXTGSXYEWGUAHZXQCWDRWHWTX');

其中,共有3-30个字符。

console.log( /^[\u00c0-\u01ffa-zA-Z]{2,29}[\u00c0-\u01ffa-zA-Z'-]$/.test('TXTGWDRWHWTXTGSXYEWGUAHZXQCWDRWHWTX') );

输出

false