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