邮箱地址验证有很多方法。在浏览器端,js邮箱验证可以通过正则表达式检测。
代码如下 | 复制代码 |
function isEmail(email) { 或 function validateEmail(elementValue) function checkEmail(mail) { |
调用很简单:
代码如下 | 复制代码 |
|
如果是进行服务器端验证。像php,则最简单的莫过于:
代码如下 | 复制代码 |
$a='/([w._]{2,10})@(w{1,}).([a-z]{2,4})/'; if(preg_match($a,$b)){ |
你要判断一整段字符串是否都匹配就要用断言。如^ $
/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/
注意头和尾加上了^ $
一,下例可以去除额外空白
代码如下 | 复制代码 |
<?php |
二,替换换行符
//php 有三种方法来解决
代码如下 | 复制代码 |
//1、使用str_replace 来替换换行 //2、使用正则替换 //3、使用php定义好的变量 (建议使用) |
代码如下:
代码如下 | 复制代码 |
/* * 获得用户操作系统的换行符,n * @access public * @return string */ function get_crlf() { if (stristr($_SERVER['HTTP_USER_AGENT'], 'Win')) { $the_crlf = 'rn'; } elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Mac')) { $the_crlf = 'r'; // for old MAC OS } else { $the_crlf = 'n';//权重大一点 www.111cn.net } return $the_crlf; } |
注意:在前台页面显示的时候,用nl2br使换行变成<br>
三,替换回车
代码如下 | 复制代码 |
<?php |
一聚教程小编提醒你,有时我们还需要注意像textarea中的回车换行并不是/r/n之类的而是需要chr(32),chr(13)这样才可以替换的哦。
我们要获取字符串中图片地址需要使用preg_match_all正则表达式来获取,替换获取到的内容使用str_replace函数即可了,下面我们看个实例。例
代码如下 | 复制代码 |
function repalceTA($str){ |
php中preg_match_all函数
preg_match_all — 执行一个全局正则表达式匹配
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
搜索subject中所有匹配pattern给定正则表达式 的匹配结果并且将它们以flag指定顺序输出到matches中.
在第一个匹配找到后, 子序列继续从最后一次匹配位置搜索.
php中str_replace函数
定义和用法
str_replace() 函数使用一个字符串替换字符串中的另一些字符。
语法
str_replace(find,replace,string,count)
利用正则去除空格我们可以直接使用preg_replace即可解决了,但是如果要包括回车换行之类的只是写法不一样,下面我给大家整理两个实例。php正则如何删除空行。
代码如下 | 复制代码 |
$newhtml=preg_replace("/(r?n)\1+/","\1",$newhtml); echo preg_replace('/($s*$)|(^s*^)/m', '', $str); 完美解决:victory: $a = 'gdgdga
fefe'; echo preg_replace('/(r?n)\1+/',"nn",$a); |
php清除 回车换行
代码如下 | 复制代码 |
<?php //php 不同系统的换行 //不同系统之间换行的实现是不一样的 //linux 与unix中用 /n //MAC 用 /r //window 为了体现与linux不同 则是 /r/n //所以在不同平台上 实现方法就不一样 //php 有三种方法来解决 //1、使用str_replace 来替换换行 $str = str_replace(array("/r/n", "/r", "/n"), "", $str); //2、使用正则替换 $str = preg_replace('//s*/', '', $str); //3、使用php定义好的变量 (建议使用) $str = str_replace(PHP_EOL, '', $str); ?> |
php替换清除换行符,清除回车换行,去除换行函数,空格,html标签的函数
代码如下 | 复制代码 |
function DeleteHtml($str) |
正则后面的/(.*)/isU ,“isU”参数代表什么意思?
这是正则中的修正符.
i是同时查找大小写字母,
s是圆点(.)匹配所有字符,包括换行符.如果没有设定s,则不包括换行符.
U是反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复
例
preg_match 兼容的正则表达式语法中 b 代表单词边界
所以:下面应该是可以???
代码如下 | 复制代码 |
$a="test,admin,abc"; $b="te"; $exist=preg_match("/b{$b}b/",$a); if($exist) { echo "存在"; }else { |
看一下相关说明
int preg_match ( string pattern, string subject [, array matches [, int flags]] );
preg_match() 返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。preg_match_all() 则相反,会一直搜索到 subject 的结尾处。如果出错 preg_match() 返回 false。
示例:
代码如下 | 复制代码 |
<?php $a = "abcdefgabcdefaaag"; preg_match('|abc([a-z]+)g|isu',$a,$out1); preg_match_all('|abc([s]+)g|isu',$a,$out2); echo "<pre>"; print_r($out1);
print_r($out2); echo "</pre>"; ?> |
写法:
使用双引号时和单引号的不同
代码如下 | 复制代码 |
<?php preg_match_all("/href="(.*)"/isu",$contents,$out); preg_match_all('|href="(.*)"|isu',$contents,$out); ?> |