随机生成临时车牌号

时间:2024-01-30 13:28:48
         ///<summary>
        ///生成随机临时车牌字符串 
        ///</summary>
        ///<param name="length">目标字符串的长度</param>
        ///<param name="useNum">是否包含数字</param>
        ///<param name="useLow">是否包含小写字母</param>
        ///<param name="useUpp">是否包含大写字母</param>
        ///<param name="useSpe">是否包含特殊字符</param>
        ///<param name="useStr">要包含的自定义字符</param>
        ///<returns>指定长度的随机字符串</returns>
        public static   string GetPlate(int length, string useStr, bool useNum, bool useUpp, bool useLow,  bool useSpe )
        {
            byte[] b = new byte[7];
            new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
            string s = null, str ="";
            try {
                Random r = new Random(BitConverter.ToInt32(b, 0));
               
                if (useNum == true) { str += "0123456789"; }
                if (useUpp == true) { str += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; }
                // if (useLow == true) { str += "abcdefghijklmnopqrstuvwxyz"; }
                //if (useSpe == true) { str += "!\"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~"; }
                for (int i = 0; i < length; i++)
                {
                    s += str.Substring(r.Next(0, str.Length - 1), 1);
                }
              
            }
            catch (Exception ex)

            {
                Print.Log(ex);
            }
            return useStr+s;
        }

调用:  一般是7位 新能源是8位

 string  plateNO = GetPlate(6, "临", true, true, false, false);
即可随机生成