o; 在php字符串中可能会出现错误 (很普遍的错误). 现在,我们已经可以确认字符串了, 我们现在把所有逗号都去掉 str_replace(",", "", $money) 然后在把类型看成 double然后我们就可以通过他做数学计算了. 再来一个:构造检查email的正则表达式 在一个完整的email地址中有三个部分: 1. 用户名 (在 ''@'' 左边的一切), 2.''@'',3. 服务器名(就是剩下那部分). 用户名可以含有大小写字母阿拉伯数字,句号 (''.''), 减号(''-''), and 下划线 (''_''). 服务器名字也是符合这个规则,当然下划线除外. 现在, 用户名的开始和结束都不能是句点. 服务器也是这样. 还有你不能有两个连续的句点他们之间至少存在一个字符,好现在我们来看一下怎么为用户名写一个匹配模式: ^[_a-zA-Z0-9-]+contentnbsp;现在还不能允许句号的存在. 我们把它加上: ^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*contentnbsp;上面的意思就是说: "以至少一个规范字符(除了.)开头,后面跟着0个或者多个以点开始的字符串." 简单化一点, 我们可以用 eregi()取代 ereg().eregi()对大小写不敏感, 我们就不需要指定两个范围 "a-z" 和 "A-Z" – 只需要指定一个就可以了: ^[_a-z0-9-]+(\.[_a-z0-9-]+)*contentnbsp;后面的服务器名字也是一样,但要去掉下划线: ^[a-z0-9-]+(\.[a-z0-9-]+)*contentnbsp;好. 现在只需要用”@”把两部分连接: ^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*contentnbsp; 这就是完整的email认证匹配模式了,只需要调用 eregi(‘^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$ ’,$eamil) 就可以得到是否为email了 正则表达式的其他用法 提取字符串 ereg() and eregi() 有一个特性是允许用户通过正则表达式去提取字符串的一部分(具体用法你可以阅读手册). 比如说,我们想从 path/URL 提取文件名 – 下面的代码就是你需要: ereg("([^\\/]*)contentquot;, $pathOrUrl, $regs); echo $regs; 高级的代换 ereg_replace() 和 eregi_replace()也是非常有用的: 假如我们想把所有的间隔负号都替换成逗号: ereg_replace("[ \n\r\t]+", ",", trim($str));最后,我把另一串检查EMAIL的正则表达式让看文章的你来分析一下."^[-!#$%&\''*+\\./0-9=?A-Z^_`a-z{|}~]+''.''@''.''[-!#$%&\''*+\\/0-9=?A-Z^_`a-z{|}~]+\.''.''[-!#$%&\''*+\\./0-9=?A-Z^_`a-z{|}~]+contentquot;如果能方便的读懂,那这篇文章的目的就达到了. JScript 和 VBScript 正则表达式 的语法规则 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 这里有一些可能会遇到的正则表达式示例: JScript VBScript 匹配 /^\[ \t]*$/ "^\[ \t]*contentquot; 匹配一个空白行。 /\d-\d/ "\d-\d" 验证一个ID 号码是否由一个2位数字,一个连字符以及一个5位数字组成。 /<(.*)>.*<\/>/ "<(.*)>.*<\/>" 匹配一个 HTML 标记。 下表是元字符及其在正则表达式上下文中的行为的一个完整列表: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,''n'' 匹配字符 "n"。''\n'' 匹配一个换行符。序列 ''\'' 匹配 &qu