mirror of
				https://github.com/cloudreve/cloudreve.git
				synced 2025-10-31 08:39:10 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package util
 | |
| 
 | |
| import (
 | |
| 	"math/rand"
 | |
| 	"regexp"
 | |
| 	"strings"
 | |
| )
 | |
| 
 | |
| // RandStringRunes 返回随机字符串
 | |
| func RandStringRunes(n int) string {
 | |
| 	var letterRunes = []rune("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
 | |
| 
 | |
| 	b := make([]rune, n)
 | |
| 	for i := range b {
 | |
| 		b[i] = letterRunes[rand.Intn(len(letterRunes))]
 | |
| 	}
 | |
| 	return string(b)
 | |
| }
 | |
| 
 | |
| // ContainsUint 返回list中是否包含
 | |
| func ContainsUint(s []uint, e uint) bool {
 | |
| 	for _, a := range s {
 | |
| 		if a == e {
 | |
| 			return true
 | |
| 		}
 | |
| 	}
 | |
| 	return false
 | |
| }
 | |
| 
 | |
| // ContainsString 返回list中是否包含
 | |
| func ContainsString(s []string, e string) bool {
 | |
| 	for _, a := range s {
 | |
| 		if a == e {
 | |
| 			return true
 | |
| 		}
 | |
| 	}
 | |
| 	return false
 | |
| }
 | |
| 
 | |
| // Replace 根据替换表执行批量替换
 | |
| func Replace(table map[string]string, s string) string {
 | |
| 	for key, value := range table {
 | |
| 		s = strings.Replace(s, key, value, -1)
 | |
| 	}
 | |
| 	return s
 | |
| }
 | |
| 
 | |
| // BuildRegexp 构建用于SQL查询用的多条件正则
 | |
| func BuildRegexp(search []string, prefix, suffix, condition string) string {
 | |
| 	var res string
 | |
| 	for key, value := range search {
 | |
| 		res += prefix + regexp.QuoteMeta(value) + suffix
 | |
| 		if key < len(search)-1 {
 | |
| 			res += condition
 | |
| 		}
 | |
| 	}
 | |
| 	return res
 | |
| }
 | 
