正则表达式 (英语: Regular Expression, 在代码中常简写为 regex,regexp 或 RE) 使用单个字符串来描述, 匹配一系列符合某个句法规则的字符串搜索模式.
JavaScript 可以使用正则表达式验证 IP 地址是否合法:
- <html>
- <head>
- </head>
- <body>
- <input id="xxx" οnblur="fun();" />
- <script>
- function isValidIP(ip)
- {
- var reg = /^(\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])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
- return reg.test(ip);
- }
- function fun()
- {
- var ip = document.all.xxx.value;
- if(isValidIP(ip))
- {
- alert("yes");
- }
- else
- {
- alert("no");
- }
- }
- </script>
- </body>
- </HTML>
iPv4 的 ip 地址都是 (1~255).(0~255).(0~255).(0~255) 的格式
下面给出相对应的正则表达式:
- "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
- +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
- +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
- +"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"
验证 IPv4 正则讲解:
\\d 表示 0~9 的任何一个数字
{2}表示正好出现两次
[0-4]表示 0~4 的任何一个数字
| 的意思是或者
( )上面的括号不能少, 是为了提取匹配的字符串, 表达式中有几个 () 就表示有几个相应的匹配字符串
1\\d{2}的意思就是 100~199 之间的任意一个数字
2[0-4]\\d 的意思是 200~249 之间的任意一个数字
25[0-5]的意思是 250~255 之间的任意一个数字
[1-9]\\d 的意思是 10~99 之间的任意一个数字
[1-9])的意思是 1~9 之间的任意一个数字
\\. 的意思是. 点要转义(特殊字符类似,@都要加 \\ 转义)
来源: http://www.css88.com/qa/javascript/11741.html