正则表达式中[]只能匹配个位数的区间,所以0-255是不能 直接用[]一次匹配的,需要分三种情况,是并列的,1位数用[0-9],两位数用[1-9][0-9]三位数中有三种情况,1开头1[0-9][0-9],2开头25开头为25[0-5],不是25开头的为2[0-4][0-9],以上为所有情况
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
<script>
var reg = /^((([1-9][0-9])|([0-9])|((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])))\.){3}(([1-9][0-9])|([0-9])|((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])))$/;
// var reg = /^a\.a\.a\.a/;
var str ="127.0.0.1";
console.log(reg.test(str));
// var reg = /^(([1-9]?\d)|((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])))\.){3}([1-9]?\d)|((1[0-9][0-9])|(2[0-4][0-9])|(25 [0-5])))$/;
</script>
</html>