如何使用 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中的树结构

树莓派服务器端脚本语言选择指南:Python、、PHP及更多
https://jb123.cn/jiaobenyuyan/67024.html

Python编程:程序编写及运行环境详解
https://jb123.cn/python/67023.html

Perl Case 语法详解:条件判断的灵活运用
https://jb123.cn/perl/67022.html

JavaScript parseFloat() 函数详解:数值解析与陷阱规避
https://jb123.cn/javascript/67021.html

Perl 核心函数详解:高效编程的利器
https://jb123.cn/perl/67020.html
热门文章

JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html

JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html

JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html

JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html

JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html