<?php class RandomText { const RAND_NUMBERS = 1; const RAND_SMALL_LETTERS = 2; const RAND_CAP_LETTERS = 4; const RAND_ALL = 7; /** * @access public * @param Type (INT) One of the random constants RAND_* * @NoOfChars [INT] Optional - No of characters to generate * @return (string) random string * @example echo RandomText::Random_String(RandomText::RAND_NUMBERS + RandomText::RAND_CAP_LETTERS, 25); */ public static function Random_String($Type = self::RAND_NUMBERS, $NoOfChars = 6) { $strList = array(); // Convert to binary format and find out what combination of random characters are required $binType = base_convert($Type, 10, 2); // Loop through the bits from Right To Left for ($i = strlen($binType) - 1; $i >= 0; $i--) { if ($binType[$i]) { switch (pow(2, strlen($binType) - $i - 1)) { default: case self::RAND_NUMBERS: $Ascii_Range = array(48, 57); // Numbers - Characters 0 to 9 break; case self::RAND_SMALL_LETTERS: $Ascii_Range = array(97, 122); // Small Letters - Characters a to z break; case self::RAND_CAP_LETTERS: $Ascii_Range = array(65, 90); // Capital Letters - Characters A to Z break; } for ($j = $Ascii_Range[0]; $j <= $Ascii_Range[1]; $j++) $strList[] = chr($j); } } $RndString = ""; for ($i = 0; $i < $NoOfChars; $i++) $RndString .= $strList[rand(0, count($strList) - 1)]; return $RndString; } } echo RandomText::Random_String(RandomText::RAND_NUMBERS + RandomText::RAND_CAP_LETTERS, 25); ?>
using System; using System.Text; public class RandomText { public const int RAND_NUMBERS = 1; public const int RAND_SMALL_LETTERS = 2; public const int RAND_CAP_LETTERS = 4; public const int RAND_ALL = 7; public static string Random_String() { return Random_String(RAND_NUMBERS, 6); } public static string Random_String(int Type) { return Random_String(Type, 6); } public static string Random_String(int Type, int NoOfChars) { StringBuilder strList = new StringBuilder(); int[] Ascii_Range; int i; // Convert to binary format and find out what combination of random characters are required string binType = Convert.ToString(Type, 2); // Loop through the bits from Right To Left for (i = binType.Length - 1; i >= 0; i--) { if (binType[i] == '1') { switch ((int)Math.Pow(2, binType.Length - i - 1)) { default: case RAND_NUMBERS: Ascii_Range = new int[] {48, 57}; // Numbers - Characters 0 to 9 break; case RAND_SMALL_LETTERS: Ascii_Range = new int[] {97, 122}; // Small Letters - Characters a to z break; case RAND_CAP_LETTERS: Ascii_Range = new int[] {65, 90}; // Capital Letters - Characters A to Z break; } for (int j = Ascii_Range[0]; j <= Ascii_Range[1]; j++) strList.Append((char)j); } } StringBuilder RndString = new StringBuilder(); Random rnd = new Random(); for (i = 0; i < NoOfChars; i++) RndString.Append(strList[rnd.Next(strList.Length - 1)]); return RndString; } public static void Main(string[] args) { Console.WriteLine(RandomText.Random_String(RandomText.RAND_NUMBERS + RandomText.RAND_CAP_LETTERS, 25)); } }
import java.io.*; import java.util.Random; public class RandomText { public static final int RAND_NUMBERS = 1; public static final int RAND_SMALL_LETTERS = 2; public static final int RAND_CAP_LETTERS = 4; public static final int RAND_ALL = 7; public static String Random_String() { return Random_String(RAND_NUMBERS, 6); } public static String Random_String(int Type) { return Random_String(Type, 6); } public static String Random_String(int Type, int NoOfChars) { StringBuilder strList = new StringBuilder(); int[] Ascii_Range; int i; // Convert to binary format and find out what combination of random characters are required String binType = Integer.toString(Type, 2); // Type.toString(2); // Loop through the bits from Right To Left for (i = binType.length() - 1; i >= 0; i--) { if (binType.charAt(i) == '1') { switch ((int)Math.pow(2, binType.length() - i - 1)) { default: case RAND_NUMBERS: Ascii_Range = new int[] {48, 57}; // Numbers - Characters 0 to 9 break; case RAND_SMALL_LETTERS: Ascii_Range = new int[] {97, 122}; // Small Letters - Characters a to z break; case RAND_CAP_LETTERS: Ascii_Range = new int[] {65, 90}; // Capital Letters - Characters A to Z break; } for (int j = Ascii_Range[0]; j <= Ascii_Range[1]; j++) strList.append((char)j); } } StringBuilder RndString = new StringBuilder(); Random rnd = new Random(); for (i = 0; i < NoOfChars; i++) RndString.append(strList.charAt(rnd.nextInt(strList.length() - 1))); return RndString.toString(); } public static void main(String[] args) throws Exception { System.out.println(RandomText.Random_String(RandomText.RAND_NUMBERS + RandomText.RAND_CAP_LETTERS, 25)); } }
function RandomText() { this.RAND_NUMBERS = 1; this.RAND_SMALL_LETTERS = 2; this.RAND_CAP_LETTERS = 4; this.RAND_ALL = 7; this.Random_String = function(Type, NoOfChars) { var strList = ""; var Ascii_Range; var i; // Convert to binary format and find out what combination of random characters are required binType = Type.toString(2); // Loop through the bits from Right To Left for (i = binType.length - 1; i >= 0; i--) { if (binType[i] == '1') { switch (Math.pow(2, binType.length - i - 1)) { default: case this.RAND_NUMBERS: Ascii_Range = new Array(48, 57); // Numbers - Characters 0 to 9 break; case this.RAND_SMALL_LETTERS: Ascii_Range = new Array(97, 122); // Small Letters - Characters a to z break; case this.RAND_CAP_LETTERS: Ascii_Range = new Array(65, 90); // Capital Letters - Characters A to Z break; } for (var j = Ascii_Range[0]; j <= Ascii_Range[1]; j++) strList += String.fromCharCode(j); } } var RndString = ""; for (i = 0; i < NoOfChars; i++) RndString += strList[Math.floor(Math.random() * strList.length)]; return RndString; } } var oRandomText = new RandomText(); alert(oRandomText.Random_String(oRandomText.RAND_NUMBERS + oRandomText.RAND_CAP_LETTERS, 25));
import array import random def int2bin(n): "Convert an integer to binary - no built-in function" bStr = '' while n > 0: bStr = str(n % 2) + bStr n = n >> 1 return bStr class RandomText: RAND_NUMBERS = 1; RAND_SMALL_LETTERS = 2; RAND_CAP_LETTERS = 4; RAND_ALL = 7; def Random_String(Type = RAND_NUMBERS, NoOfChars = 6): strList = array.array('c', '') # Convert to binary format and find out what combination of random characters are required binType = int2bin(Type) # Loop through the bits from Right To Left for i in range(len(binType) - 1, -1, -1): if binType[i] == '1': x = 2 ** (len(binType) - i - 1) if x == RandomText.RAND_NUMBERS: Ascii_Range = [48, 57] # Numbers - Characters 0 to 9 elif x == RandomText.RAND_SMALL_LETTERS: Ascii_Range = [97, 122] # Small Letters - Characters a to z elif x == RandomText.RAND_CAP_LETTERS: Ascii_Range = [65, 90] # Capital Letters - Characters A to Z else: Ascii_Range = [48, 57] # Numbers - Characters 0 to 9 for j in range(Ascii_Range[0], Ascii_Range[1] + 1): strList.append(chr(j)) RndString = array.array('c', '') for i in range(0, NoOfChars): RndString.append(strList[random.randint(0, len(strList) - 1)]) return RndString.tostring() Random_String = staticmethod(Random_String) print RandomText.Random_String(RandomText.RAND_NUMBERS + RandomText.RAND_CAP_LETTERS, 25)
Post a Comment
0 comments:
Post a Comment