/**
* 验证字符串是否符合正则表达式
* @param string $source 字符串
* @param string $para 正则表达式,可用[username]|[password]|[email]|[homepage]或自定义表达式
* @return bool
*/
function CheckRegExp($source, $para) {
if (strpos($para, [username]) !== false) {
$para = "/^[\.\_A-Za-z0-9·\x{4e00}-\x{9fa5}]+$/u";
}
if (strpos($para, [password]) !== false) {
$para = "/^[A-Za-z0-9`~!@#\$%\^&\*\-_]+$/u";
}
if (strpos($para, [email]) !== false) {
$para = "/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*\.)+[a-zA-Z]*)$/u";
}
if (strpos($para, [homepage]) !== false) {
$para = "/^[a-zA-Z]+:\/\/[a-zA-Z0-9\_\-\.\&\?\/:=#\x{4e00}-\x{9fa5}]+$/u";
}
if (!$para)
return false;
return (bool)preg_match($para, $source);
}