PHP validate/php 字符验证/php 文字類をチェック
2007-11-07 10:54
288 查看
function checkParameter($parameter, $type, $max, $min) {
$flag = true;
mb_regex_encoding("SJIS");
if (!(isset($parameter) && $parameter !== "")) {
return false;
}
if ($max <>'' || $min <> ''){
if (strlen($parameter) > $max || strlen($parameter) < $min) {
$flag = false;
}
}
switch($type) {
case 1: //絵文字ではないのみ
if ($this->emojiCheck($parameter)) {
$flag = false;
}
break;
case 2: //カナとひらがなと漢字とスペースのみ
$parameter = mb_convert_kana($parameter, "K", "SJIS");
if (!mb_ereg("^[亜-腕ぁ-んァ-ヶ/ー ]*$", $parameter)) {
$flag = false;
}
break;
case 3: //英数字のみ
if (!preg_match("/^[a-zA-Z0-9]+$/", $parameter)) {
$flag = false;
}
break;
case 4: //数字のみ
if (!preg_match("/^[0-9]+$/", $parameter)) {
$flag = false;
}
break;
case 5: //カナのみ
$parameter = mb_convert_kana($parameter, "K", "SJIS");
if (!mb_ereg("^[ァ-ヶ/ー]*$", $parameter)) {
$flag = false;
}
break;
case 6: //ひらがなのみ
if (!mb_ereg("^[ぁ-ん]*$", $parameter)) {
$flag = false;
}
break;
case 7: //英数字と「_」のみ
if (!preg_match("/^[a-zA-Z0-9_]+$/", $parameter)) {
$flag = false;
}
break;
case 8: //A-Zのみ
if (!preg_match("/^[A-Z]+$/", $parameter)) {
$flag = false;
}
break;
case 9: //A-Jのみ
if (!preg_match("/^[A-J]+$/", $parameter)) {
$flag = false;
}
break;
case 10: //1と2のみ
if (!preg_match("/^[1-2]+$/", $parameter)) {
$flag = false;
}
break;
case 11: //1-4のみ
if (!preg_match("/^[1-4]+$/", $parameter)) {
$flag = false;
}
break;
case 12: //1-9のみ
if (!preg_match("/^[1-9]+$/", $parameter)) {
$flag = false;
}
break;
case 13: //1のみ
if (!preg_match("/^[1]+$/", $parameter)) {
$flag = false;
}
break;
case 14: //0,1,2のみ
if (!preg_match("/^[0-2]+$/", $parameter)) {
$flag = false;
}
break;
case 15: //1,2,3のみ
if (!preg_match("/^[1-3]+$/", $parameter)) {
$flag = false;
}
break;
default:
break;
}
return $flag;
}
/**
* 絵文字検出
*
* @param string $data 任意の文字列
* @return boolean :true → 絵文字あり false → 絵文字なし
*/
function emojiCheck($data) {
if (!isset($data)) {
return false;
}
$terminalType = $this->getTerminalType();
$data = str_replace(array("/r/n", '/n', '/r'), array('','',''), $data);
if ($terminalType == "DOCOMO") {
return $this->iemojiCheck($data);
} elseif ($terminalType == "AU") {
return $this->ezEmojiCheck($data);
} elseif ($terminalType == "VODAFONE") {
return $this->sbEmojiCheck($data);
} else {
return false;
}
}
$flag = true;
mb_regex_encoding("SJIS");
if (!(isset($parameter) && $parameter !== "")) {
return false;
}
if ($max <>'' || $min <> ''){
if (strlen($parameter) > $max || strlen($parameter) < $min) {
$flag = false;
}
}
switch($type) {
case 1: //絵文字ではないのみ
if ($this->emojiCheck($parameter)) {
$flag = false;
}
break;
case 2: //カナとひらがなと漢字とスペースのみ
$parameter = mb_convert_kana($parameter, "K", "SJIS");
if (!mb_ereg("^[亜-腕ぁ-んァ-ヶ/ー ]*$", $parameter)) {
$flag = false;
}
break;
case 3: //英数字のみ
if (!preg_match("/^[a-zA-Z0-9]+$/", $parameter)) {
$flag = false;
}
break;
case 4: //数字のみ
if (!preg_match("/^[0-9]+$/", $parameter)) {
$flag = false;
}
break;
case 5: //カナのみ
$parameter = mb_convert_kana($parameter, "K", "SJIS");
if (!mb_ereg("^[ァ-ヶ/ー]*$", $parameter)) {
$flag = false;
}
break;
case 6: //ひらがなのみ
if (!mb_ereg("^[ぁ-ん]*$", $parameter)) {
$flag = false;
}
break;
case 7: //英数字と「_」のみ
if (!preg_match("/^[a-zA-Z0-9_]+$/", $parameter)) {
$flag = false;
}
break;
case 8: //A-Zのみ
if (!preg_match("/^[A-Z]+$/", $parameter)) {
$flag = false;
}
break;
case 9: //A-Jのみ
if (!preg_match("/^[A-J]+$/", $parameter)) {
$flag = false;
}
break;
case 10: //1と2のみ
if (!preg_match("/^[1-2]+$/", $parameter)) {
$flag = false;
}
break;
case 11: //1-4のみ
if (!preg_match("/^[1-4]+$/", $parameter)) {
$flag = false;
}
break;
case 12: //1-9のみ
if (!preg_match("/^[1-9]+$/", $parameter)) {
$flag = false;
}
break;
case 13: //1のみ
if (!preg_match("/^[1]+$/", $parameter)) {
$flag = false;
}
break;
case 14: //0,1,2のみ
if (!preg_match("/^[0-2]+$/", $parameter)) {
$flag = false;
}
break;
case 15: //1,2,3のみ
if (!preg_match("/^[1-3]+$/", $parameter)) {
$flag = false;
}
break;
default:
break;
}
return $flag;
}
/**
* 絵文字検出
*
* @param string $data 任意の文字列
* @return boolean :true → 絵文字あり false → 絵文字なし
*/
function emojiCheck($data) {
if (!isset($data)) {
return false;
}
$terminalType = $this->getTerminalType();
$data = str_replace(array("/r/n", '/n', '/r'), array('','',''), $data);
if ($terminalType == "DOCOMO") {
return $this->iemojiCheck($data);
} elseif ($terminalType == "AU") {
return $this->ezEmojiCheck($data);
} elseif ($terminalType == "VODAFONE") {
return $this->sbEmojiCheck($data);
} else {
return false;
}
}
相关文章推荐
- web签名验证程序【跨服务器、中文字符签名方法】-php为例
- 解决新浪抓取资料文字乱码 php字符转码
- PHP验证码之字符验证
- PHP在字符断点处截断文字的实现代码
- php过滤文字中的表情字符和mysql服务端对emoji的支持
- web签名验证程序【跨服务器、中文字符签名方法】-php为例
- php验证输入字符串中含有非法字符
- PHP在字符断点处截断文字的实现代码
- php的preg_match将验证字符中的#当成注释了
- 特殊字数验证,除了文字其他都算半个字符
- php各种编码集详解和以及在什么情况下进行使用 发布:mdxy-dxy 字体:[增加 减小] 类型:转载 字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。 字符集是多个字符的集
- 用php过滤文字中的表情字符
- 用php过滤文字中的表情字符
- PHP过滤邪恶的小日本文字及特殊字符
- oracle-- 文字与格式字符串不匹配
- php删除字符串中重复字符
- php 正则匹配中文及中文字符
- js 正则表达式验证用户名不包含^*%",长度在3到12个字符
- PHP验证图片制作
- 验证fgets末尾自动添加的字符是'\0', 还是'\n'.