php 字符串各种正则验证集合

来源:互联网 发布:sentinel数据下载 编辑:程序博客网 时间:2024/06/05 14:34
function check($data, $rule = NULL, $ext = NULL){$data = trim(str_replace(PHP_EOL, '', $data));if (empty($data)) {return false;}$validate['require'] = '/.+/';$validate['url'] = '/^http(s?):\\/\\/(?:[A-za-z0-9-]+\\.)+[A-za-z]{2,4}(?:[\\/\\?#][\\/=\\?%\\-&~`@[\\]\':+!\\.#\\w]*)?$/';$validate['currency'] = '/^\\d+(\\.\\d+)?$/';$validate['number'] = '/^\\d+$/';$validate['zip'] = '/^\\d{6}$/';$validate['cny'] = '/^(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$/';$validate['integer'] = '/^[\\+]?\\d+$/';$validate['double'] = '/^[\\+]?\\d+(\\.\\d+)?$/';$validate['english'] = '/^[A-Za-z]+$/';$validate['idcard'] = '/^([0-9]{15}|[0-9]{17}[0-9a-zA-Z])$/';$validate['truename'] = '/^[\\x{4e00}-\\x{9fa5}]{2,4}$/u';$validate['username'] = '/^[a-zA-Z]{1}[0-9a-zA-Z_]{5,15}$/';$validate['email'] = '/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/';$validate['moble'] = '/^(((1[0-9][0-9]{1})|159|153)+\\d{8})$/';$validate['password'] = '/^[a-zA-Z0-9_\\@\\#\\$\\%\\^\\&\\*\\(\\)\\!\\,\\.\\?\\-\\+\\|\\=]{6,16}$/';$validate['xnb'] = '/^[a-zA-Z]$/';if (isset($validate[strtolower($rule)])) {$rule = $validate[strtolower($rule)];return preg_match($rule, $data);}$Ap = '\\x{4e00}-\\x{9fff}' . '0-9a-zA-Z\\@\\#\\$\\%\\^\\&\\*\\(\\)\\!\\,\\.\\?\\-\\+\\|\\=';$Cp = '\\x{4e00}-\\x{9fff}';$Dp = '0-9';$Wp = 'a-zA-Z';$Np = 'a-z';$Tp = '@#$%^&*()-+=';$_p = '_';$pattern = '/^[';$OArr = str_split(strtolower($rule));in_array('a', $OArr) && ($pattern .= $Ap);in_array('c', $OArr) && ($pattern .= $Cp);in_array('d', $OArr) && ($pattern .= $Dp);in_array('w', $OArr) && ($pattern .= $Wp);in_array('n', $OArr) && ($pattern .= $Np);in_array('t', $OArr) && ($pattern .= $Tp);in_array('_', $OArr) && ($pattern .= $_p);isset($ext) && ($pattern .= $ext);$pattern .= ']+$/u';return preg_match($pattern, $data);}

原创粉丝点击