regx.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package regx // import "fixup.cc/go/util/regx"
  2. import "regexp"
  3. func IsChineseString(s string) bool {
  4. if m, _ := regexp.MatchString("^[\\x{4e00}-\\x{9fa5}]+$", s); m {
  5. return true
  6. }
  7. return false
  8. }
  9. func IsEnglishString(s string) bool {
  10. if m, _ := regexp.MatchString("^[a-zA-Z]+$", s); m {
  11. return true
  12. }
  13. return false
  14. }
  15. func IsEmailAddress(s string) bool {
  16. if m, _ := regexp.MatchString(`^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$`, s); m {
  17. return true
  18. }
  19. return false
  20. }
  21. func IsMoblieNumber(s string) bool {
  22. if m, _ := regexp.MatchString(`^(1[3|4|5|8|7][0-9]\d{4,8})$`, s); m {
  23. return true
  24. }
  25. return false
  26. }
  27. func IsArabicNumeral(s string) bool {
  28. if m, _ := regexp.MatchString(`^[0-9]+$`, s); m {
  29. return true
  30. }
  31. return false
  32. }
  33. // 二进制
  34. func IsBinNumber(s string) bool {
  35. if m, _ := regexp.MatchString(`^[+-]{0,1}[01]+$`, s); m {
  36. return true
  37. }
  38. return false
  39. }
  40. // 八进制
  41. func IsOctNumber(s string) bool {
  42. if m, _ := regexp.MatchString(`^[+-]{0,1}0[1-7]{1,1}[0-7]{0,}$`, s); m {
  43. return true
  44. }
  45. return false
  46. }
  47. // 十进制
  48. func IsDecNumber(s string) bool {
  49. if m, _ := regexp.MatchString(`^[+-]{0,1}[1-9]\d+$`, s); m {
  50. return true
  51. }
  52. return false
  53. }
  54. // 十六进制
  55. func IsHexNumber(s string) bool {
  56. if m, _ := regexp.MatchString(`^[+-]{0,1}0[Xx][0-9a-eA-E]+$`, s); m {
  57. return true
  58. }
  59. return false
  60. }