【问题标题】:javascript validate SSID and WPA/WPA2javascript 验证 SSID 和 WPA/WPA2
【发布时间】:2017-07-22 02:10:37
【问题描述】:

我正在尝试使用 2 个函数来验证 SSID 和 WPA2 密码。

function isValidSSID(ssid) {
    return (regex)
}

function isValidWPA(passcode) {
    return (regex)
}

我希望为每个人找到一个正则表达式...

我正在寻找每个的有效字符:

SSID 最多可以包含 32 个字母数字字符,区分大小写。 第一个字符不能是 !、# 或 ;特点。 +、]、/、"、TAB 和尾随空格是 SSID 的无效字符。

WPA: https://superuser.com/questions/223513/what-are-the-technical-requirements-for-a-wpa-psk-passphrase

谢谢, 唐

更新:

对我有用的 SSID 功能:

function isValidSSID(str) { return /^[!#;].|[+\[\]/"\t\s].*$/.test(str); }

我用的是https://regex101.com/r/ddZ9zc/2/网站

对我有用的 WPA 功能:

 function isValidWPA(str) { return /^[\u0020-\u007e\u00a0-\u00ff]*$/.test(str); }

Regular expression for all printable characters in JavaScript

我在 javascript 的其他地方做了长度检查。

谢谢!

【问题讨论】:

  • 您需要提供输入和预期输出的示例(通过/失败)并自己尝试一下。人们在这里帮助你学习,而不是做你的工作。除非你想按小时付费。
  • 这里有没有我遗漏的问题?
  • 我自己想通了...
  • @Don E.:你能分享一下吗? :)

标签: javascript regex ssid wpa


【解决方案1】:

我使用这个正则表达式来匹配 SSID:

^[^!#;+\]\/"\t][^+\]\/"\t]{0,30}[^ !#;+\]\/"\t]$|^[^ !#;+\]\/"\t]$

【讨论】:

    【解决方案2】:

    我用安德烈的答案想出了这个:

    ^[^!#;+\]\/"\t][^+\]\/"\t]{0,30}[^ +\]\/"\t]$|^[^ !#;+\]\/"\t]$[ \t]+$
    

    SSID 最多可以包含 32 个字母数字字符,区分大小写。第一个字符不能是 !、# 或 ;特点。 +、]、/、"、TAB 和尾随空格是 SSID 的无效字符。

    使用正则表达式 andrey 提供的您不能使用 !、# 或 ;完全在字符串中,但是上面的文本指定它们不能仅在字符串的开头使用。

    【讨论】:

      【解决方案3】:

      对于 SSID,我会使用这个正则表达式(不包括零长度的情况):

      /^[^!#;+\]/"\t][^+\]/"\t]{0,31}$/
      

      对于 WPA 密码(8 到 63 个可打印的 ASCII 字符,编码范围从 32 到 126):

      /^[\u0020-\u007e]{8,63}$/
      

      【讨论】:

        猜你喜欢
        • 2012-04-19
        • 1970-01-01
        • 2011-09-06
        • 1970-01-01
        • 1970-01-01
        • 2013-06-15
        • 1970-01-01
        • 1970-01-01
        • 2021-04-20
        相关资源
        最近更新 更多