任意の長さの文字列を生成するクラス(自由にカスタマイズ)
リリース: 2016-07-25 08:50:26
カスタマイズ可能な長さ、文字、数字、大文字と小文字
- /*
- * ランダムな文字列を生成するクラス。デフォルトでは数字と大文字と小文字のみが含まれます
- * @author Jerry
- */
-
- class randomString {
- /*
- * 生成された文字列に含まれる文字の設定
- */
-
- const NUMERIC_ONLY = 1; //数字のみを含む
- const LETTER_ONLY = 2 //文字のみを含む
- const MIXED = 3;文字
-
- /*
- * ユーザーによって渡される変数は、文字列の長さ、文字列に大文字が含まれているかどうかです
- */
-
- protected $length, $type, $upper;
-
- /*
- * パラメータの初期化
- * @param int,$length 文字列の長さ
- * @param const,$type 生成される文字列の型
- * @param boolean,$upper 大文字が含まれるかどうか
- */
-
- public function __construct($length = 16, $type = self::MIXED, $upper = true) {
- $this->length = $length;
- $this->type = $type;
- $this->gt; upper = $upper;
- }
-
- / *
- * オブジェクトが文字列に変換されるときに呼び出されます
- * @return string
- */
-
- public function __toString() {
- return $this->pickUpChars();
- }
-
- /*
- * ランダムな文字列を生成します
- * @global $type
- * @return string,$string
- */
-
- public function pickUpChars() {
- switch ($this->type) {
- case self ::NUMERIC_ONLY:
- $raw = '0123456789' ;
- ブレーク;
- case self::LETTER_ONLY:
- $raw = 'qwertyuioplkjhgfdsazxcvbnm' .
- 'QWERTYUIOPLKJHGFDSAZXCVBNM';
- ブレーク;
-
- デフォルト:
- $raw = 'qwertyuioplkjhgfdsazxcvbnm' 。
- 'QWERTYUIOPLKJHGFDSAZXCVBNM' .
- '0123456789';
- Break;
- }
- $string = '';
- for ($index = 0; $index < $this->length; $index++)
- $string .= substr ($raw, mt_rand(0, strlen($ raw) - 1), 1);
- if (!$this->upper)
- $string = strto lower($string);
- return $string;
- }
-
- }
-
- //echo new randomString(170, randomString::MIXED, TRUE).'
';
-
-
-
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31