我需要根据3个不同的组计算字符串中的字符数。我需要一个单独的计数,所以3个变量,但我似乎无法正确使用正则表达式,主要是因为我不知道要逃避什么。
所以类型1将是:
[a-zA-Z0-9@¡¿£_!$"¥#è¤é%ù&ìYò(Ç)*:Ø+;øÆ,<æ-=ß.>É/?ÄäÖöÑñÜü§à]
以及空格,换行和回车(每次应计算一次)
类型2将是:
|^{}[]~\€
类型3将是其他两组中没有的任何东西。
我如何设置每个var的正则表达式匹配?
编辑:我已经设法让类型1工作,这很容易,但我似乎无法获得类型2来计算这些字符。我试过了:var type1 = ($(this).val().match(/[a-zA-Z0-9@¡¿£_!$"¥#è¤é%ù&ìYò(Ç)*:Ø+;øÆ,<æ\-=ß.>É/?ÄäÖöÑñÜü§à/\n/\r/\s]/g)||[]).length;
var type2 = ($(this).val().match(/[|{}[/]~^\\€]/g)||[]).length;
var type3 = $(this).val().length - type1 - type2;
答案 0 :(得分:1)
经过一些试验和错误,我已经设法让它正常工作,显然:
var type1 = ($(this).val().match(/[a-zA-Z0-9@@¡¿£_!$"¥#è¤é%ù&ìYò(Ç)*:Ø+;øÆ,<æ\-=ß.>É/?ÄäÖöÑñÜü§à/\n/\r/\s]/g)||[]).length;
var type2 = ($(this).val().match(/[|{}[\]~^\\€]/g)||[]).length;
var type3 = $(this).val().length - type1 - type2;