php正则入门,实习email和URL验证
匹配email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
匹配网址url的正则表达式:[a-za-z]+://[^s]*
下面看一实例,代码如下:
- <body onload="f.a.select();">
- <?php
- echo 'a:'.htmlspecialchars($a);
- echo '<br>a1:';
- $a1 = eregi_replace('(^[_.][:alnum:]-]+@([[:alnum:]][[:alnum:]-]*.)+[[:alpha:]]{2,3}$)',' <a href="mailto:1">1</a> ', $a) ;
- echo htmlspecialchars($a1);
- echo "<br>a1:$a1";
- echo '<br>a2:';
- $a2 = eregi_replace('([[:alnum:]]+://([[:alnum:]][[:alnum:]-]*.)+[[:alpha:]]{2,3}([#?/][^#?/][:space:]][^[:space:]]*)?)',
- '<a href="1" target="_blank">1</a>', $a);
- echo htmlspecialchars($a2);
- echo "<br>a2:$a2";
- // eregi('^[_.][:alnum:]-]+@([[:alnum:]][[:alnum:]-]*.)+[[:alpha:]]{2,3}$',$a) or die("not a email");
- ?>
- <form name="f">
- <input name="a" value="<?php echo $a; ?>">
- <input type="submit" >
- </form>
- </body>