github.com/songzhibin97/go-baseutils@v0.0.2-0.20240302024150-487d8ce9c082/sys/stringx/is.go (about) 1 package stringx 2 3 import ( 4 "unicode" 5 ) 6 7 // IsAlpha checks if the string contains only unicode letters. 8 func IsAlpha(s string) bool { 9 if s == "" { 10 return false 11 } 12 for _, v := range s { 13 if !unicode.IsLetter(v) { 14 return false 15 } 16 } 17 return true 18 } 19 20 // IsAlphanumeric checks if the string contains only Unicode letters or digits. 21 func IsAlphanumeric(s string) bool { 22 if s == "" { 23 return false 24 } 25 for _, v := range s { 26 if !isAlphanumeric(v) { 27 return false 28 } 29 } 30 return true 31 } 32 33 // IsNumeric Checks if the string contains only digits. A decimal point is not a digit and returns false. 34 func IsNumeric(s string) bool { 35 if s == "" { 36 return false 37 } 38 for _, v := range s { 39 if !unicode.IsDigit(v) { 40 return false 41 } 42 } 43 return true 44 } 45 46 func isAlphanumeric(v rune) bool { 47 return unicode.IsDigit(v) || unicode.IsLetter(v) 48 }