2

我正在尝试验证 HSTS 标头。

有两种情况需要测试:

  1. 多个 Max-age 值,例如max-age=342343; max-age=234234

;以下仅在两个 max-ages 之间没有 " " 值时有效。这是一个问题....

  1. 第二个是 Max-age 包含数字和其他字符的地方,例如max-age=324Amax-age=534A;

    var string = 'max-age=3423A42; preload';
    
    var multipleMaxAge = string.match(/max-age=([0-9]+)/gi).length;
    var invalidMaxAge = string.match(/max-age=(.*\D+.*$);?/gi);
    
    if (invalidMaxAge){
       alert("Max-age Can only be digits... error");
    }
    if (multipleMaxAge != 1){
       alert("Multiple Maximum Ages!");
    }
    

我如何让正则表达式;在结尾有或没有的模式匹配...

谢谢,

4

1 回答 1

1

试试max-age=([0-9]+)[\s;]

[\s;]意味着您的号码之后的下一个字符将是空格或;.

它也应该解决随机字母的问题。

于 2016-04-02T14:34:41.750 回答