Class: DataMaker::Validators::ChinesePhoneNumber

Inherits:
Object
  • Object
show all
Defined in:
lib/data_maker/validators/chinese_phone_number.rb

Instance Method Summary collapse

Constructor Details

#initialize(number) ⇒ ChinesePhoneNumber

Returns a new instance of ChinesePhoneNumber.



4
5
6
# File 'lib/data_maker/validators/chinese_phone_number.rb', line 4

def initialize(number)
  @number = number
end

Instance Method Details

#landline?Boolean

Returns:

  • (Boolean)


13
14
15
16
17
18
19
20
21
# File 'lib/data_maker/validators/chinese_phone_number.rb', line 13

def landline?
  twodigit = /^0?((10)|(2[0-57-9])|(3[157])|(4[17])|(5[1,3,5])|(7[1579])|(8[357])|(9[379]))\d{8,9}$/
  threedigit = /^0?(((335|349|39[1-6]|398))|((42[179]|43[1-9]|44[08]|45[1-9]|46[4789]|48[23]))|((52[37]|54[36]|56[1-6]|580|59[1-9]))|((63[1-5]|66[0238]|69[12]))|((701|72[248]|73[014-9]|74[3-6]|76[023689]))|((81[23678]|82[5-7]|88[136-8]|89[1-8]))|((90[123689]|91[1-9]|94[13]|95[1-5])))\d{7,}$/
    fourdigit = /^0?((8029|806[03578]|807[01])\d{6,})$/

    !(twodigit.match(@number.to_s).nil?) ||
    !(threedigit.match(@number.to_s).nil?) ||
    !(fourdigit.match(@number.to_s).nil?)
end

#mobile?Boolean

Returns:

  • (Boolean)


8
9
10
11
# File 'lib/data_maker/validators/chinese_phone_number.rb', line 8

def mobile?
  mobile_regex = /^1[34578]\d(\D?)\d{4}(\D?)\d{4}$/
  !(mobile_regex.match(@number.to_s).nil?)
end

#valid?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/data_maker/validators/chinese_phone_number.rb', line 23

def valid?
  mobile? || landline?
end