javascript验证SSID和WPA / WPA2

时间:2017-07-22 02:10:37

标签: javascript regex ssid wpa

我正在尝试使用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的其他地方进行了长度检查。

谢谢!

3 个答案:

答案 0 :(得分:3)

我用安德烈的回答来提出这个:

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

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

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

答案 1 :(得分:0)

我使用此正则表达式匹配SSID:

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

答案 2 :(得分:0)

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

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

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

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