生活随笔
收集整理的這篇文章主要介紹了
javascript判断IPV6格式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隨著ipv6的普及,在web上添加ip6地址的要求逐漸增多,下面這個函數是我按照ipv6的定義寫的判斷,可以用來判斷正常的,縮寫的ipv6格式,同時可以判斷ipv6和ipv4混合的格式:
?
?? function?cLength(str){? ? ? ??var?reg?=?/([0-9a-f]{1,4}:)|(:[0-9a-f]{1,4})/gi;? ? ? ??var?temp?=?str.replace(reg,'?');? ? ? ??return?temp.length;? ? ??}? ?? ????????????? ?? function?isIPv6(tmpstr) ? ?{ ?? ????????? ? ????????var?patrn=/^([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$/i;? ? ? ????????var?r=patrn.exec(tmpstr) ? ? ????????if(r) ? ?????????{ ?? ????????????return?true; ? ?????????} ?? ????????if(tmpstr=="::"){ ? ? ????????????return?true; ? ?????????} ?? ????????? ?????????patrn=/^(([0-9a-f]{1,4}:){0,6})((:[0-9a-f]{1,4}){0,6})$/i;? ??????????r=patrn.exec(tmpstr); ?? ????????if(r) ? ?????????{???? ?? ????????????var?c=cLength(tmpstr); ? ? ????????????if(c<=7?&&?c>0) ? ?????????????{ ?? ????????????????return?true; ? ?????????????} ??????????}???????????????? ?? ????????? ?????????patrn=/^([0-9a-f]{1,4}:){1,7}:$/i;? ??????????r=patrn.exec(tmpstr); ?? ????????if(r) ? ?????????{ ?? ????????????return?true; ? ?????????} ?? ????????? ?????????patrn=/^:(:[0-9a-f]{1,4}){1,7}$/i;? ??????????r=patrn.exec(tmpstr); ?? ????????if(r) ? ?????????{ ?? ????????????return?true; ? ?????????} ?? ????????? ?????????patrn=/^([0-9a-f]{1,4}:){6}(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i;? ??????????r=patrn.exec(tmpstr); ?? ????????if(r) ? ?????????{ ?? ????????????if(r[2]<=255?&&?r[3]<=255?&&r[4]<=255?&&?r[5]<=255?) ? ? ????????????return?true; ? ?????????} ?? ????????? ?????????patrn=/^([0-9a-f]{1,4}:){1,5}:(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i;? ??????????r=patrn.exec(tmpstr); ?? ????????if(r) ? ?????????{ ?? ????????????if(r[2]<=255?&&?r[3]<=255?&&r[4]<=255?&&?r[5]<=255?) ? ? ????????????????return?true; ? ?????????} ?? ????????? ?????????patrn=/^::(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/i;? ??????????r=patrn.exec(tmpstr); ?? ????????if(r) ? ?????????{ ?? ????????????if(r[1]<=255?&&?r[2]<=255?&&r[3]<=255?&&?r[4]<=255) ? ? ????????????????return?true; ? ?????????} ?? ????????return?false; ? ?} ??
? ? ?本文轉自yifangyou 51CTO博客,原文鏈接:http://blog.51cto.com/yifangyou/615893,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的javascript判断IPV6格式的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。