常规正则验证helper公共类

主要代码功能: 弥补平时项目对于验证功能这块的不严谨。具体细分的常规验证, 手机号/电话/小灵通验证, 字符串长度区间合法验证, 邮箱验证, 使用正则验证数据.

/**

*

*

* 常规验证helper公共类

*

*

*/

class CheckForm

{

//手机号/电话/小灵通 验证

public function Mobile_check($mobile,$type = array())

{

/**

* 手机号码

* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188

* 联通:130,131,132,152,155,156,185,186

* 电信:133,1349,153,180,189

*/

$res[1]= preg_match(‘/^1(3[0-9]|5[0-35-9]|8[0-9])\\d{8}$/‘, $mobile);

/**

* 中国移动:China Mobile

11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188

*/

$res[2]= preg_match(‘/^1(34[0-8]|(3[5-9]|5[017-9]|8[0-9])\\d)\\d{7}$/‘, $mobile);

/**

* 中国联通:China Unicom

* 130,131,132,152,155,156,185,186

*/

$res[3]= preg_match(‘/^1(3[0-2]|5[256]|8[56])\\d{8}$/‘, $mobile);

/**

* 中国电信:China Telecom

* 133,1349,153,180,189

*/

$res[4]= preg_match(‘/^1((33|53|8[09])[0-9]|349)\\d{7}$/‘, $mobile);

/**

* 大陆地区固话及小灵通

* 区号:010,020,021,022,023,024,025,027,028,029

* 号码:七位或八位

*/

$res[5]= preg_match(‘/^0(10|2[0-5789]|\\d{3})-\\d{7,8}$/‘, $mobile);

$type = empty($type) ? array(1,2,3,4,5) : $type;

$ok = false;

foreach ($type as $key=>$val)

{

if ($res[$val])

{

$ok = true;

}

continue;

}

if ( $mobile && $ok )

{

return true;

}else{

return false;

}

}

//字符串长度区间合法验证

public function Strlength_check($str, $min=NULL, $max=NULL)

{

preg_match_all("/./u", $str, $matches);

$len = count($matches[0]);

if(is_null($min) && !empty($max) && $len < $max){

return false;

}

if(is_null($max) && !empty($min) && $len > $min){

return false;

}

if ($len < $min || $len > $max) {

return false;

}

return true;

}

//邮箱验证

public static function isEmail($str)

{

if (!$str) {

return false;

}

return preg_match(‘#[a-z0-9&\-_.]+@[\w\-_]+([\w\-.]+)?\.[\w\-]+#is‘, $str) ? true : false;

}

/**

* 使用正则验证数据

* @access public

* @param string $rule 验证规则

* @param string $value  要验证的数据

* @return boolean

*/

public function regex($rule,$value) {

$validate = array(

//字段必须,不能为空

‘require‘   =>  ‘/\S+/‘,

//邮箱验证

‘email‘     =>  ‘/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/‘,

//url验证

‘url‘       =>  ‘/^http(s?):\/\/(?:[A-za-z0-9-]+\.)+[A-za-z]{2,4}(?:[\/\?#][\/=\?%\-&~`@[\]\‘:+!\.#\w]*)?$/‘,

//货币验证

‘currency‘  =>  ‘/^\d+(\.\d{0,2})?$/‘,

//数字验证

‘number‘    =>  ‘/^[-\+]?\d+(\.\d+)?$/‘,

//zip验证

‘zip‘       =>  ‘/^\d{6}$/‘,

//整数验证

‘integer‘   =>  ‘/^[-\+]?\d+$/‘,

//浮点数验证

‘double‘    =>  ‘/^[-\+]?\d+(\.\d+)?$/‘,

//英文验证

‘english‘   =>  ‘/^[A-Za-z]+$/‘,

‘gt0‘   =>  ‘/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/‘,

//合法帐号

‘account‘
=> ‘/^[a-zA-Z][a-zA-Z0-9_]{1,19}$/‘

);

// 检查是否有内置的正则表达式

if(isset($validate[strtolower($rule)]))

$rule = $validate[strtolower($rule)];

return preg_match($rule,$value)===1;

}

function CheckPwd($pwd,$min=NULL, $max=NULL)

{

if (strlen($pwd)>$max || strlen($pwd)<$min || preg_match("/^\d*$/",$pwd) || preg_match("/^[a-z]*$/i",$pwd))

{

return false;

}

return true;

}

}

is_null() 检测变量是否为 NULL。

转载请声名本文地址。http://blog.csdn.net/websites/article/details/45332853

谢谢关注websites博客!

时间: 2024-10-11 05:21:05

常规正则验证helper公共类的相关文章

[转帖] 分享一个java正则验证类

原址:http://blog.csdn.net/jarvis_java/article/details/5949096 package com.tool.util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * * @author Jarvis * 90%的验证都调用了Regular方法 但是本类也可删除大部分方法 涉及到正则的判断都直接穿参数和正则表达式 * 但是为了方便业务类调用和有更直观的含义 建

C# 调用API接口处理公共类 自带JSON实体互转类

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; using System.Web; n

正则表达式学习和常用正则验证规则(包括用户名,密码,手机号,网址等)

正则表达式基础语法 1.1匹配不同类型的字符 字符类 匹配的字符 \d 匹配一个数字字符.等价于 [0-9]. \D 匹配一个非数字字符.等价于 [^0-9]. \w 匹配包括下划线的任何单词字符.等价于‘[A-Za-z0-9_]‘. \W 匹配任何非单词字符.等价于 ‘[^A-Za-z0-9_]‘. \s 匹配任何空白字符,包括空格.制表符.换页符等等.等价于 [ \f\n\r\t\v]. \S 匹配任何非空白字符.等价于 [^ \f\n\r\t\v]. .(点号) 任一字符 […] 括号中的

使用c#正则验证关键字并找出匹配项

在.net里,使用类Regex可以正则验证一些关键字并取出匹配项. 1.使用Regex.IsMatch(string  input,  string  pattern,  RegexOptions  options)匹配输入字符串与指定的正则表达式是否符合条件: 返回类型:bool true——满足匹配条件  false——不满足匹配条件 input:string类型,输入项 pattern:string类型,指定的正则表达式 options:可选,枚举值,设置正则表达式选项 例:验证字符串中是

sqlserver数据库操作公共类DBOperate

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; using System.Windows.Forms; using  WindowsFormsApplication1.DBTools;//提供数据库连接 namespace liuxw_MPS.DBTools {     ///

WPF TextBox 正则验证 大于等于0 小于等于1 的两位小数

正则:^(0\.\d+|[1-9][0-9]|1)$ TextBox绑定正则验证 <TextBox x:Name="txb"   MaxLength="6" Margin="1 0 0 0"  Width="40" >    <TextBox.Text>        <Binding Path="Opacity" ValidatesOnExceptions="Tru

Java 后台验证的工具类

Java 后台验证的工具类 public class ValidationUtil {         //手机号     public static String mobile = "^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$";       //不允许为空     public static String blank = ".*[^ ].*";  

国内固定电话正则验证:&#39;tel&#39;: [/0\d{2,3}-\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/, &quot;请填写有效的电话号码&quot;],

// 验证字段 $('#info_form').validator({ rules : { checkMobile : function(ele) { return checkMobile(ele); }, 'tel': [/0\d{2,3}-\d{7,8}(|([-\u8f6c]{1}\d{1,5}))$/, "请填写有效的电话号码"], }, fields : { '#agentName' : { rule : 'required;', msg : {required : '请输入

java邮箱正则验证

import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class test{ public static void main(String args[]){ System.out.println(test.isEmail("[email protected]")); } public static boolean isEmail(String email){