版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/mayongzhan - 马永占,myz,mayongzhan
<!--下面附带测试-->
<?php
/**
* @name check.php
* @date Sat Nov 24 01:14:28 CST 2007
* @copyright 马永占(MyZ)
* @author 马永占(MyZ)
* @link http://blog.csdn.net/mayongzhan/
*/
/**
* 验证类
* @version 1.0
*/
class Check
{
/**
* 本类调用了我在以前写的计算string长度的函数,如修改或者使用本类请更新此文件
* checkLong()
* checkRight()
*/
/**
* 计算长度,也可以用于顺便验证是否为空验证
*
* @param string $string
* @param int $length
* @param int $length
* @return boolean
*/
public function checkLong($string, $end, $begin = 0)
{
$num = $this->countStr($string, 1);
if ($num <= $end && $num >= $begin) {
return true;
}
else {
return false;
}
}/* end function checkLong */
/**
* 检查输入格式
*
* @param string $value
* @param int $type
* @return boolean
* @author MyZ
*/
public function checkRight($value, $type=7)
{
//$type = 1 是否为 纯 字母数字
//$type = 2 是否为 纯 字母数字._
//$type = 3 是否为 纯 字母
//$type = 4 是否为 纯 小写字母
//$type = 5 是否为 纯 大写字母
//$type = 6 是否为 纯 数字
//$type = 7 是否为 不带 /\'" (这几个为危险字符)
if ($type == 1) {
$regular = '/[^a-z0-9]/i';
}
elseif ($type == 2) {
$regular = '/[^a-z0-9_.]/i';
}
elseif ($type == 3) {
$regular = '/[^a-z]/i';
}
elseif ($type == 4) {
$regular = '/[^a-z]/';
}
elseif ($type == 5) {
$regular = '/[^A-Z]/';
}
elseif ($type == 6) {
$regular = '/[^0-9]/';
}
elseif ($type == 7) {
$regular = '/[\\\\\'\"\/]/'; // \\\\代表\ \/代表/ \'代表' \"代表"
}
else {
$regular = '/[\\\\// \'\"\/]/'; // \\\\代表\ \/代表/ \'代表' \"代表"
}
if (!preg_match($regular, $value)) { //不匹配,证明是
return true;
}
else { //匹配,证明否
return false;
}
}/* end function checkRight */
/**
* 这个是我在以前写的计算string长度的函数,如修改或者使用本类请更新此文件
*
* @param string $str
* @param int $handle
* @param boolean $onlyCh
* @return int
*/
function countStr($str, $handle, $onlyCh = 0)
{
//$handle = 1 按照mb_strlen算 一个中文按照1个字算
//$handle = 2 按照mb_strwidth算 一个中文按照2个字算
//$handle = 3 按照strlen算 一个中文按照3个字算
//$onlyCh = 1 只统计中文
$length = strlen($str);
if ($handle == 3 && $onlyCh == 0) {
return $length;
}
else {
$i = 0;
if ($onlyCh == 1) {
$k = 0;
}
else {
$k = 1;
}
while($i < $length) {
if(preg_match("/^[" . chr(0xa1) . "-" . chr(0xff) . "]+$/", $str[$i])) {
$i += 3;
$n += $handle;
}
else {
$i += 1;
$n += $k;
}
}
return $n;
}
}/* end function countStr */
}/* end class Check */
//测试
$test = new Check();
//测试中英文共6个字的string是否在5到N之间
for ($i=0;$i<20;$i++) {
echo $test->checkLong("马永占MyZ",$i,5)?"yes{$i}<br />":"no{$i}<br />";
}
//测试各种非法字是否正确
$value = array("~`!@#$%^&*()-_=+{}[]:;,.<>?|",
"/",
"\\",
"/\\",
"'",
"\"",
"'\"",
".7",
"_M",
"._7",
"7",
"77",
"777",
"7-7",
"M",
"y",
"MyZ",
"马永占",
"MyZ占777"
);
foreach ($value as $value) {
echo $test->checkRight($value)?"<b>yes{$value}</b><br />":"no{$value}<br />";
}
?>
v
分享到:
相关推荐
这个“php常用表单正则验证类.zip”压缩包提供了一个用于PHP的实用表单验证类,可以帮助开发者更方便地处理表单数据的验证工作。下面我们将详细探讨正则表达式验证和PHP类库在表单验证中的应用。 首先,让我们了解...
下面我们将深入探讨PHP中如何使用正则表达式进行表单验证,并给出一些常见的正则验证类的实现方式。 首先,了解正则表达式的基础知识至关重要。正则表达式是一种特殊的字符串模式,用于匹配和处理文本。在PHP中,...
本篇文章将深入探讨C#中的正则表达式验证类,以及如何在实际开发中运用它们。 首先,`Regex`类提供了许多静态方法,如`Match`、`Matches`、`IsMatch`等,用于执行正则表达式的匹配操作。例如,`IsMatch`方法可以...
【标题】:“AutoIt 正则验证工具” 【描述】中的“AutoIt 正则验证工具”是一款基于AutoIt编程语言开发的实用程序,它的主要功能是通过穷举的方法来测试和验证正则表达式的完备性和正确性。正则表达式(Regular ...
本资源包“JS input正则验证大全”主要聚焦于使用JavaScript进行输入框(input)的各种类型的数据验证,包括英文、中文、邮箱、手机号、银行卡和身份证等常见字段的正则校验规则。以下是对这些知识点的详细说明: 1...
总结来说,自定义WPF正则验证控件的关键在于创建一个继承自`ValidationRule`的类,并实现`Validate`方法。在XAML中,通过`Binding.ValidationRules`属性将这个自定义规则应用到文本框的`Binding`上。这样,我们就...
根据提供的代码示例,可以看到一个简单的正则验证函数 `regex()` 的实现。该函数接受两个参数:待验证的值 `$value` 和验证规则 `$rule`。下面将详细介绍这个函数的实现细节及其应用: ```php /** * 验证数据 * ...
常用正则验证,各种常用验证包含,汉字、手机号、电话号码、email、金额、特殊字符等常见完整js类库。
**JS正则验证表单**是前端开发中一个至关重要的环节,主要用于确保用户输入的数据符合预设的格式,从而提高数据质量和应用安全性。在本文中,我们将深入探讨JavaScript中的正则表达式及其在表单验证中的应用。 正则...
正则验证软件中文版是一款专为中文用户设计的工具,它简化了正则表达式的使用,提供了友好的界面和丰富的功能,帮助开发者和非开发者更加高效地进行文本模式匹配。 首先,要使用这款正则验证软件中文版,你需要确保...
"正则验证大全"通常指的是一个包含各种正则表达式模式的集合,用于解决各种常见的数据验证需求。 在JavaScript(JS)中,正则表达式是通过使用`/pattern/flags`语法来创建的,其中`pattern`是实际的正则表达式,`...
在进行用户输入验证时,正则表达式是强大的工具,尤其对于邮箱和密码这类需要特定格式的字段。本主题将深入探讨如何使用C#进行邮箱和密码的正则表达式验证。 一、邮箱验证 1. **邮箱格式**:邮箱地址通常遵循一个...
这款名为“正则验证软件”的程序,显然就是专为.NET环境设计的,用于帮助开发者高效地进行正则表达式的验证工作。 .NET框架提供了丰富的正则表达式支持,主要通过System.Text.RegularExpressions命名空间中的Regex...
- 在Java项目中,通常会封装一个工具类,集合常用的正则表达式和验证方法,方便复用。 - 这样的工具类可能包含方法如:`isEmail(String input)`验证邮箱格式,`isPhone(String input)`验证手机号码格式,`isIDCard...
非常好用的正则验证工具 非常好用的正则验证工具
"正则验证规则,最全,最实用"的标题表明我们将探讨一套全面且实用的正则表达式规则,这些规则适用于多种验证需求。 描述中提到的"最全最实用的正则验证插件,含调用示例"可能指的是一个JavaScript库或者工具,它...
"快速正则验证工具" 提供了便捷的方式来辅助开发者进行正则表达式的测试和验证,使得在编程过程中能够更高效地检查和调试正则表达式。 正则表达式的概念: 1. **基础字符**:正则表达式由一些基本字符构成,如字母...
1. **创建正则表达式模式**:通过`Regex`类的构造函数,可以传入一个字符串作为正则表达式模式,例如`new Regex("^[a-zA-Z0-9]+$")`用于验证仅包含字母和数字的字符串。 2. **匹配方法**:`Regex`类提供了`Match`和...
一个正则表达式验证格式的方法 你一个可以调用的demo valid(str,tostr) str:字符串 tostr:格式 yy-mm-dd 支持.,/,-三种格式。
在这个"易语言模块彗星正则表达式类.rar"压缩包中,包含的是一个专门用于处理正则表达式的易语言模块,名为"模块彗星正则表达式类"。 正则表达式,简称regex,是一种强大的文本处理工具,广泛应用于数据验证、文本...