Skip to content
This repository has been archived by the owner on May 26, 2019. It is now read-only.

Commit

Permalink
Upgrade new tel-num pattern of yiiviet\validator\TelNumValidator
Browse files Browse the repository at this point in the history
  • Loading branch information
vuongxuongminh committed Sep 21, 2018
1 parent 10aad80 commit 6434d9e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 13 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 1.0.2

Enh: Upgrade tel-num pattern of `yiiviet\validator\TelNumValidator` (vuongxuongminh)
21 changes: 9 additions & 12 deletions src/TelNumValidator.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
namespace yiiviet\validator;

use yii\base\InvalidConfigException;

use yii\validators\RegularExpressionValidator;


/**
* Lớp TelNumValidator dùng để kiểm tra số điện thoại trong nước có hợp lệ hay không.
* Ví dụ khai báo kiểm tra số điện thoại hợp lệ trong `model`
Expand Down Expand Up @@ -53,6 +51,7 @@
*/
class TelNumValidator extends RegularExpressionValidator
{

/**
* @var array Mảng chứa tên các telco (nhà mạng). Các nhà mạng nằm trong mảng sẽ là kiểu ràng buộc của dữ liệu.
* Lưu ý nếu như tên telco cũng nằm ở mảng `exceptTelco` thì mặc định telco đó sẽ bị loại bỏ.
Expand All @@ -72,27 +71,27 @@ class TelNumValidator extends RegularExpressionValidator
/**
* @var string Pattern kiểm tra số viettel.
*/
public $viettel = '^(\+?84|0)?(9[6-8]|16[2-9]|86)\d{7}$';
public $viettel = '^(\+?84|0)?(9[6-8]|3[2-9]|86)\d{7}$';

/**
* @var string Pattern kiểm tra số vinaphone.
*/
public $vinaPhone = '^(\+?84|0)?(9[14]|12[3-5]|12[79]|88)\d{7}$';
public $vinaPhone = '^(\+?84|0)?(9[14]|8[1-5]|88)\d{7}$';

/**
* @var string Pattern kiểm tra số mobiphone.
*/
public $mobiFone = '^(\+?84|0)?(9[03]|12[0-2]|12[68]|89)\d{7}$';
public $mobiFone = '^(\+?84|0)?(9[03]|7[6-8]|7[09]|89)\d{7}$';

/**
* @var string Pattern kiểm tra số vnmobi.
*/
public $vietNamMobile = '^(\+?84|0)?(92|18[68]|82)[\d]{7}$';
public $vietNamMobile = '^(\+?84|0)?(92|5[68]|82)[\d]{7}$';

/**
* @var string Pattern kiểm tra số gmobile.
*/
public $gMobile = '^(\+?84|0)?199[\d]{7}$';
public $gMobile = '^(\+?84|0)?59[\d]{7}$';

/**
* @var string Pattern kiểm tra số beeline.
Expand Down Expand Up @@ -137,7 +136,7 @@ public function init()
}

if (!empty($pattern)) {
$this->pattern = "/(" . implode(")|(", $pattern) . ")/";
$this->pattern = "~(" . implode(")|(", $pattern) . ")~";
} else {
throw new InvalidConfigException('Your telco setup is not valid!');
}
Expand Down Expand Up @@ -187,11 +186,9 @@ public function validateAttribute($model, $attribute)
if ($this->mobileFormat) {
$model->{$attribute} = preg_replace('/^(\+?84|0)?(\d+)$/', '0$2', $model->{$attribute});
}

return null;
} else {
return $result;
}

return $result;
}

}
2 changes: 1 addition & 1 deletion tests/TelNumValidatorTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public function telNumInvalidProvider()
['!@#!@#1123123..123'],
['09091139111'],
['016485754635'],
['0703366854'],
['0603366854'],
['070336685a']
];
}
Expand Down

0 comments on commit 6434d9e

Please sign in to comment.