1.判斷Email:
域名由各國文字的特定字符集、英文字母、數字及“-”(即連字符或減號)任意組合而成, 但開頭及結尾均不能含有“-”,“-”不能連續出現,域名中字母不分大小寫,域名最長可達60個字節(包括后綴.com、.net、.org等).
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;
/內容/i 構成一個不區分大小寫的正則表達式;
基本規則,代碼如下:
- preg_match('/^[a-z0-9_-]+(.[_a-z0-9-]+)*@([_a-z0-9-]+.)+([a-z]{2}
- |aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$/',$email)
例1,代碼如下:
- <?php
- function is_email($email){
- return strlen($email) > 6 && preg_match(“/^[w-.]+@[w-]+(.w+)+$/“, $email);
- }
- ?>
例2,代碼如下:
- <html>
- <body>
- <?php
- $email_pattern = '/w{6,16}@w{1,}.w{2,3}/i';
- $email_valid = '[email protected]';
- $email_invalid = 'test@test%@111@com';
- $matches = array();
- preg_match($email_pattern, $email_valid, $matches[]);
- preg_match($email_pattern, $email_invalid, $matches[]);
- var_dump($matches);
- ?>
- </body>
- </html>
- //結果
- //array(2) { [0]=> array(1) { [0]=> string(16) "[email protected]" } [1]=> array(0) { } }
2.判斷Url:
例1,代碼如下:
- function is_url($str){
- return preg_match(“/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]’:+!]*([^<>"])*$/“, $str);
- }
例2,php判斷url地址并自動轉換為超鏈接,在一段字符串中用正則表達式匹配出url,在將url轉換為超鏈接,點擊可訪問地址,代碼如下:
- <?php
- function autolink($foo)
- {
- $foo = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_/+.~#?&//=]+)', '<a href="/1" mce_href="/1" target=_blank rel=nofollow>/1</a>', $foo);
- if( strpos($foo, "http") === FALSE ){
- $foo = eregi_replace('(www.[-a-zA-Z0-9@:%_/+.~#?&//=]+)', '<a href="http:///1" mce_href="http:///1" target=_blank rel=nofollow >/1</a>', $foo);
- }else{
- $foo = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_/+.~#?&//=]+)', '/1<a href="http:///2" mce_href="http:///2" target=_blank rel=nofollow >/2</a>', $foo);
- }
- return $foo;
- }
- ?>
3.判斷手機號碼:
例1,代碼如下:
- function is_mobile($str){
- return preg_match(“/^(((d{3}))|(d{3}-))?13d{9}$/“, $str);
- }
例2,代碼如下:
- if(preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189]{1}[0-9]{8}$|189[0-9]{8}$/",$mobilephone)){
- //驗證通過
- }else{
- //手機號碼格式不對
- }
新聞熱點
疑難解答