Protože potřebujeme v našem projektu konfigurovat IP autentizaci (pouze síťová adresa s IP adresou nastavenou v databázi může přistupovat k naší adrese, jinak by toto oprávnění neexistovalo), protože je potřeba přistupovat k více dodavatelům, IP adresa může patřit určité straně, Například dodavatel může mít 127.0.0.1, 127.0.0.2, 127.0.0.3, 127.0.0.4, 127.0.0.5, 127.0.0.6. Stačí nastavit 127.0.0.* pro umožnění přístupu, tedy stačí posoudit první tři číslice. Když ale na stránce vytvořím seznam pro autentizaci IP, musím použít IP adresu jako podmínku dotazu.
Na internetu je mnoho IP adres, které lze posoudit, ale když dělám dotaz, musím také zadat adresu 127.0.0.*, abych posoudil, ale taková IP adresa samozřejmě neodpovídá IP adrese, a pak jsem přemýšlel, jestli bych nejdřív mohl zachytit jen první tři číslice na stránce a pak jen první tři číslice IP adresy, takže jsem začal trénovat. Kód je následující:
- 1.function checkIP()
- 2.{
- 3. var sIPAddress=document.getElementById("ipAddr").value;
- 4. var ipAddr = sIPAddress.substring(0, sIPAddress.lastIndexOf('.')); //截取IP地址中最后一个.前面的数字
- 5.
- 6. var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/;
- 7. var reg = ipAddr.match(exp);
- 8. var ErrMsg= "你输入的是一个非法的IP地址段!\nIP段为::xxx.xxx.xxx.xxx(xxx为0-255)\n或xxx.xxx.xxx.*(xxx为0-255)! ";
- 9. if(sIPAddress!=""){
- 10. if(reg==null)
- 11. {
- 12. alert(ErrMsg);
- 13. return false;
- 14. }
- 15. }
- 16. return true;
- 17.}
Kopírovat kód
|