如何使用 JavaScript 验证 IP 地址186
在许多 web 应用中,验证用户提供的 IP 地址的格式是否正确非常重要。JavaScript 提供了一种简单的方法来执行此任务。
IP 地址格式
IPv4 地址由四个八位字节组成,每个字节表示该地址的某个部分。这些字节之间用点号分隔,例如 "192.168.1.1"。IPv6 地址由八个 16 位十六进制数组成,用冒号分隔,例如 "2001:0db8:85a3:08d3:1319:8a2e:0370:7334"。
使用 JavaScript 验证 IP 地址
可以使用正则表达式来验证 IP 地址的格式。以下正则表达式匹配有效的 IPv4 地址:```javascript
/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/
```
以下正则表达式匹配有效的 IPv6 地址:```javascript
/^((([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4}|:))|(([0-9a-fA-F]{1,4}:){6}(:[0-9a-fA-F]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4})))|(([0-9a-fA-F]{1,4}:){5}(((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){4}(((:[0-9a-fA-F]{1,4}){1,3})|((:[0-9a-fA-F]{1,4})(((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){3}(((:[0-9a-fA-F]{1,4}){1,4})|((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){2}(((:[0-9a-fA-F]{1,4}){1,5})|((:[0-9a-fA-F]{1,4}){1,3})|((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){1}(((:[0-9a-fA-F]{1,4}){1,6})|((:[0-9a-fA-F]{1,4}){1,4})|((:[0-9a-fA-F]{1,4}){1,3})|((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(:(((:[0-9a-fA-F]{1,4}){1,7})|((:[0-9a-fA-F]{1,4}){1,5})|((:[0-9a-fA-F]{1,4}){1,4})|((:[0-9a-fA-F]{1,4}){1,3})|((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4})))))$/
```
要使用正则表达式验证 IP 地址,可以使用以下函数:```javascript
function isValidIP(ip) {
if (/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.test(ip)) {
return true;
} else if (/^(([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4}|:))|(([0-9a-fA-F]{1,4}:){6}(:[0-9a-fA-F]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4})))|(([0-9a-fA-F]{1,4}:){5}(((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){4}(((:[0-9a-fA-F]{1,4}){1,3})|((:[0-9a-fA-F]{1,4})(((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){3}(((:[0-9a-fA-F]{1,4}){1,4})|((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3})|(:[0-9a-fA-F]{1,4}))))|(([0-9a-fA-F]{1,4}:){2}(((:[0-9a-fA-F]{1,4}){1,5})|((:[0-9a-fA-F]{1,4}){1,3})|((:[0-9a-fA-F]{1,4}){1,2})|(:((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)((\.(25[
2025-02-11
下一篇:javascript中的树结构
![脚本编程自学教程:一步步掌握脚本语言](https://cdn.shapao.cn/images/text.png)
脚本编程自学教程:一步步掌握脚本语言
https://jb123.cn/jiaobenbiancheng/36221.html
![深入了解编程脚本制作:入门指南](https://cdn.shapao.cn/images/text.png)
深入了解编程脚本制作:入门指南
https://jb123.cn/jiaobenbiancheng/36220.html
![脚本语言功能介绍,助你提升开发效率!](https://cdn.shapao.cn/images/text.png)
脚本语言功能介绍,助你提升开发效率!
https://jb123.cn/jiaobenyuyan/36219.html
![脚本编程软件APP下载 | 提高工作效率的利器](https://cdn.shapao.cn/images/text.png)
脚本编程软件APP下载 | 提高工作效率的利器
https://jb123.cn/jiaobenbiancheng/36218.html
![Git 活用 Perl 脚本](https://cdn.shapao.cn/images/text.png)
Git 活用 Perl 脚本
https://jb123.cn/perl/36217.html
热门文章
![JavaScript (JS) 中的 JSF (JavaServer Faces)](https://cdn.shapao.cn/images/text.png)
JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html
![JavaScript 枚举:全面指南](https://cdn.shapao.cn/images/text.png)
JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html
![JavaScript 逻辑与:学习布尔表达式的基础](https://cdn.shapao.cn/images/text.png)
JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html
![JavaScript 中保留小数的技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html
![JavaScript 调试神器:步步掌握开发调试技巧](https://cdn.shapao.cn/images/text.png)
JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html