我试图获得两个函数来验证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); }我在javascript的其他地方做了长度检查。
谢谢!
发布于 2018-08-15 17:20:20
我使用这个正则表达式来匹配SSID:
^[^!#;+\]\/"\t][^+\]\/"\t]{0,30}[^ !#;+\]\/"\t]$|^[^ !#;+\]\/"\t]$发布于 2021-02-15 20:23:54
我用安德烈的回答提出了这个问题:
^[^!#;+\]\/"\t][^+\]\/"\t]{0,30}[^ +\]\/"\t]$|^[^ !#;+\]\/"\t]$[ \t]+$SSID可以由多达32个字母数字、区分大小写的字符组成.第一个字符不能是!、#或;字符。+、]、/、“、TAB和尾部空格是SSID的无效字符。
如果使用regex,则不能在字符串中使用!、#或;,但是上面的文本指定它们不能仅在字符串的开头使用。
发布于 2022-09-29 11:19:19
这是一个答案,但也是一个问题-谁有在SSID中使用外语或图形的经验?我发现了以下情况:
但是,如果您深入研究一下电气和电子工程师协会(IEEE)维护的802.11标准Wi的管理标准,您会发现一些令人惊讶的东西:为无线网络设置SSID的唯一限制是它必须长度在1到32位之间,八位组是8位数据。
截至Unicode 14.0,共有144697个字符,包括数百种语言的字符和数千个表情符号。非常有趣的是,表情符号是两个八进制,而不是一个像A或数字2这样的八进制。因此,外国字母也是如此--每个字母需要两个八位数。
因此,SSID中的每个表情符号都可以算作两个普通的明文字符--您可以有一个16个表情符号SSID,一个30个明文字符SSID和一个单一的表情符号,或者这两个符号之间的任意组合,它们加起来总共有32个八位数。
https://stackoverflow.com/questions/45249961
复制相似问题