Class: Abctools

Inherits:
Object
  • Object
show all
Defined in:
lib/abctools.rb

Class Method Summary collapse

Class Method Details

.email_regexpObject



64
65
66
# File 'lib/abctools.rb', line 64

def email_regexp
  /\A[^@\s]+@([^@\s]+\.)+[^@\W]+\z/
end


31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/abctools.rb', line 31

def insensitive_popular_accent
  {
    'a'=>/[á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ|Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ]/,
    'd'=>/[đ|Đ]/,
    'e'=>/[é|è|é|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ|É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ]/,
    'i'=>/[í|ì|ỉ|ĩ|ị|Í|Ì|Ỉ|Ĩ|Ị]/,
    'o'=>/[ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ|Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ]/,
    'u'=>/[ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự|Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự]/,
    'y'=>/[ý|ỳ|ỷ|ỹ|ỵ|Ý|Ỳ|Ỷ|Ỹ|Ỵ]/,
    '-'=>/\/|\?|–|\+|\#|\/|\&|\~|\`|\*|\(|\)|\=|\!|\,|\;|\@|\.|\"|\”/
  }
end

.insensitive_remove_accent(source) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/abctools.rb', line 3

def insensitive_remove_accent(source)
  return "" if !source.is_a?(String) && source.blank?
  source = source.downcase.strip
  insensitive_popular_accent.each do |nonAcc, acc|
    source = source.gsub(acc, nonAcc)
  end
  source
end

.right_email(source) ⇒ Object



21
22
23
24
25
26
27
28
29
# File 'lib/abctools.rb', line 21

def right_email(source)
  return false if !source.is_a?(String) && source.blank?
  source = source.downcase.strip
  if (email_regexp =~ source)
    source
  else
    false
  end
end


44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/abctools.rb', line 44

def sensitive_popular_accent
  {
    'a'=>/[á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ]/,
    'A'=>/[Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ]/,
    'd'=>/[đ]/,
    'D'=>/[Đ]/,
    'e'=>/[é|è|é|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ]/,
    'E'=>/[É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ]/,
    'i'=>/[í|ì|ỉ|ĩ|ị]/,
    'I'=>/[Í|Ì|Ỉ|Ĩ|Ị]/,
    'o'=>/[ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ]/,
    'O'=>/[Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ]/,
    'u'=>/[ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự]/,
    'U'=>/[Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự]/,
    'y'=>/[ý|ỳ|ỷ|ỹ|ỵ]/,
    'Y'=>/[Ý|Ỳ|Ỷ|Ỹ|Ỵ]/,
    '-'=>/\/|\?|–|\+|\#|\/|\&|\~|\`|\*|\(|\)|\=|\!|\,|\;|\@|\.|\"|\”/
  }
end

.sensitive_remove_accent(source) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/abctools.rb', line 12

def sensitive_remove_accent(source)
  return "" if !source.is_a?(String) && source.blank?
  source = source.strip
  sensitive_popular_accent.each do |nonAcc, acc|
    source = source.gsub(acc, nonAcc)
  end
  source
end