package Ġcom . github . tools . presenter Ċ Ċ import Ġcom . github . tools . task . Regular Task Ċ Ċ object ĠStr Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdetermines Ġwhether Ġthe Ġstring Ġcon forms Ġto Ġthe Ġnumber Ġrule ĊĠĠĠĠ Ġ* Ġ@ param Ġstr Ġstring ĊĠĠĠĠ Ġ* Ġ@ param Ġlength Ġby Ġdefault , Ġdetermine Ġwhether Ġthe Ġstring Ġlength Ġis Ġless Ġthan Ġor Ġequal Ġto Ġ 1 8 ĊĠĠĠĠ Ġ* Ġ@ return Ġcompliance Ġwith Ġthe Ġrules ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Number ( str : ĠString , Ġlength : ĠInt Ġ= Ġ 1 8 ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegular Task . is Positive Query ( str , Ġ"^ [ 0 - 9 ]* $ ") Ġ&& Ġstr . length Ġ<= Ġlength ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdetermines Ġwhether Ġthe Ġstring Ġcon forms Ġto Ġthe Ġemail Ġrule ĊĠĠĠĠ Ġ* Ġ@ param Ġstr Ġstring ĊĠĠĠĠ Ġ* Ġ@ return Ġcompliance Ġwith Ġthe Ġrules ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Email ( str : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegular Task . is Positive Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstr , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"^ \\ w + ([- + .] \\ w + )* @ \\ w + ([ -. ]\\ w + )* \\. \\ w + ([ -. ]\\ w + )* \ $" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdetermines Ġwhether Ġthe Ġstring Ġcon forms Ġto Ġthe Ġphone Ġrule ĊĠĠĠĠ Ġ* Ġ@ param Ġstr Ġstring ĊĠĠĠĠ Ġ* Ġ@ return Ġcompliance Ġwith Ġthe Ġrules ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Phone ( str : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegular Task . is Positive Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstr , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"^ ( 1 3 [ 0 - 9 ]| 1 4 [ 5 | 7 ]| 1 5 [ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]| 1 8 [ 0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 ]) \\ d { 8 }\ $" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġwhether Ġthe Ġaccount Ġnumber Ġis Ġlegal Ġ( beginning Ġwith Ġa Ġletter , Ġallowing Ġ 5 - 1 6 Ġbytes , Ġallowing Ġal phanumeric Ġunders cores ) ĊĠĠĠĠ Ġ* Ġ@ param Ġstr Ġstring ĊĠĠĠĠ Ġ* Ġ@ return Ġcompliance Ġwith Ġthe Ġrules ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Account ( str : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegular Task . is Positive Query ( str , Ġ"^ [ a - zA - Z ][ a - zA - Z 0 - 9 _ ]{ 4 , 1 5 }\ $ ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdetermines Ġwhether Ġthe Ġstring Ġcon forms Ġto Ġthe Ġdomain Ġname Ġrule ĊĠĠĠĠ Ġ* Ġ@ param Ġstr Ġstring ĊĠĠĠĠ Ġ* Ġ@ return Ġcompliance Ġwith Ġthe Ġrules ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis DomainName ( str : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegular Task . is Positive Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstr , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"[ a - zA - Z 0 - 9 ][ - a - zA - Z 0 - 9 ]{ 0 , 6 2 }( \\ .[ a - zA - Z 0 - 9 ][ - a - zA - Z 0 - 9 ]{ 0 , 6 2 }) + \\. ?" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdetermine Ġwhether Ġthe Ġstring Ġcomp lies Ġwith Ġthe Ġurl Ġrules ĊĠĠĠĠ Ġ* Ġ@ param Ġstr Ġstring ĊĠĠĠĠ Ġ* Ġ@ return Ġcompliance Ġwith Ġthe Ġrules ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Url ( str : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegular Task . is Positive Query ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstr , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"^ ( http | https ) :// ([ \\ w - ]+ \\. )+ [ \\ w - ]+ (/ [ \\ w - ./ ? % & = ]*) ?\ $" ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }