Regular expression matching an email address: w+ ([-+.] w+) *@w+ ([-.] w+) *.w+ ([-.] w+) *
Regular expressions that match URL URLs: [a-za-z]+://[^s]*
Let's look at an example
<body onload= "F.a.select ();" >
<?php
Echo ' A: '. Htmlspecialchars ($a);
Echo ' <br>a1: ';
$a 1 = eregi_replace (' (^[_.] [: alnum:]-]+@ ([: alnum:]][[:alnum:]-]*.) +[[:alpha:]]{2,3}$) ', ' <a href= ' mailto:1 ' >1</a> ', $a);
Echo htmlspecialchars ($a 1);
echo "<BR>A1: $a 1";
Echo ' <BR>A2: ';
$a 2 = eregi_replace ([: alnum:]]+://([: alnum:]][[:alnum:]-]*.) +[[:alpha:]]{2,3} ([#?/][^#?/][:space:]][^[:space:]]*)?) ',
' <a href= ' 1 "target=" _blank ">1</a>", $a);
Echo Htmlspecialchars ($a 2);
echo "<BR>A2: $a 2";
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>
About regular expression-common data
Match account number is legal (beginning of letter, allow 5-16 bytes, allow alphanumeric underline): ^[a-za-z][a-za-z0-9_]{4,15}$
Commentary: Form validation is useful
Match domestic phone number: D{3}-d{8}|d{4}-d{7}
String 1
Commentary: Match form such as 0511-4405222 or 021-87888822
Matching Tencent QQ Number: [1-9][0-9]{4,}
Commentary: Tencent QQ number starting from 10000
Match China ZIP Code: [1-9]d{5} (?! D
Commentary: China postal code is 6 digits
Matching ID: d{15}|d{18}
Commentary: China's ID card is 15-or 18-digit
Matching IP address: d+.d+.d+.d+
Commentary: Useful when extracting IP addresses
Match a specific number:
^[1-9]d*$//Matching positive integer
^-[1-9]d*$//matching negative integers
^-? [1-9]d*$//matching integer
^[1-9]d*|0$//matching nonnegative integer (positive integer + 0)
^-[1-9]d*|0$//matching non positive integer (negative integer + 0)
^[1-9]d*.d*|0.d*[1-9]d*$//matching positive floating-point numbers
^-([1-9]d*.d*|0.d*[1-9]d*) $//matching negative floating-point number
^-? ([1-9]d*.d*|0.d*[1-9]d*|0?. 0+|0) $//matching floating-point number
^[1-9]d*.d*|0.d*[1-9]d*|0? 0+|0$//matching nonnegative floating-point number (positive floating-point number + 0)
^ (-([1-9]d*.d*|0.d*[1-9]d*)) |? 0+|0$//matching non-positive floating-point numbers (negative floating-point number + 0)
Commentary: useful when dealing with large amounts of data, pay attention to corrections when applied
Match a specific string:
^[a-za-z]+$//Match 26 alphanumeric string Strings 4
^[a-z]+$//Match a string of 26 uppercase letters
^[a-z]+$//Match string consisting of 26 lowercase letters
^[a-za-z0-9]+$//Match a string of numbers and 26 English letters
^w+$//Match A string of numbers, 26 English letters, or underscores