රීජෙක්ස් භාවිතයෙන් දුරකථන අංක වලංගු කරන්නේ කෙසේද


932

දුරකථන අංක වලංගු කිරීම සඳහා පුළුල් රීජෙක්ස් එකක් දැමීමට මම උත්සාහ කරමි. ඉතා මැනවින් එය ජාත්‍යන්තර ආකෘතීන් හසුරුවනු ඇත, නමුත් එය පහත සඳහන් දෑ ඇතුළුව එක්සත් ජනපද ආකෘතීන් හැසිරවිය යුතුය:

  • 1-234-567-8901
  • 1-234-567-8901 x1234
  • 1-234-567-8901 ext1234
  • 1 (234) 567-8901
  • 1.234.567.8901
  • 1/234/567/8901
  • 12345678901

මගේ වර්තමාන උත්සාහයෙන් මම පිළිතුරු දෙන්නෙමි, නමුත් මම බලාපොරොත්තු වන්නේ යමෙකුට වඩා හොඳ සහ / හෝ වඩා අලංකාර යමක් තිබේ.


3
BTW, ඔබ භාවිතා කරන්නේ කුමන භාෂාවද යන්න සඳහන් කළ යුතුය. සියලුම රීජෙක්ස් එන්ජින් එකම සින්ටැක්ස් නොමැත.
ඇන්ඩ rew ජේෆෝඩ්

9
පිළිතුර මෙම නඩුව ආවරණය කළත් 1 ක් වෙනුවට +1 විකල්පය ඔබ අතහැර දමා ඇති බවක් පෙනේ.
එරික්

156
එක්සත් ජනපදයේ සියලුම දුරකථන අංක 555හැරුණු විට ඒවා අවශ්‍ය 911නොවේද?
ඇන්ඩ rew ග්‍රිම්

43
ඊට පටහැනිව, 555 උපසර්ගය ව්‍යාජ දුරකථන අංක සඳහා වෙන් කර ඇත. එම අංක සත්‍ය දුරකථන අංකයකට සම්බන්ධ නොවන බවට සහතික වී ඇති බැවින් ඒවා බොහෝ විට රූපවාහිනියේ සහ චිත්‍රපට වල භාවිතා වන අතර ප්‍රේක්ෂකයෙකු එම අංකයට ඇමතීමට උත්සාහ නොකරන බවත් සමහර දුප්පත් අහිංසකයන්ට හිරිහැර කරන බවත් සහතික කරයි.
රෂින්

49
@rushinge දශක ගණනාවකට පෙර එය සත්‍යයක් වූවත් එය තවදුරටත් සත්‍ය නොවේ . 555 උපසර්ගය තවමත් විශේෂයි, නමුත් 555-0100 සිට 555-0199 සම්බන්ධතාවයකින් තොරව අවසන් කිරීමට සහතික වී ඇත්තේ කුඩා පරාසයක සංඛ්‍යාවක් පමණි. නමුත් මට හොඳටම විශ්වාසයි ඇන්ඩ rew කෙසේ හෝ විහිළු කරන බව.
ඇඩම් ඩේවිස්

Answers:


518

වඩා හොඳ විකල්පය ... +44 (0) ...අන්තර්ජාතික උපසර්ගය භාවිතා කිරීමට ඉල්ලා සිටින විට සම්මත නොවන ස්වරූපයෙන් අංක ලිවීමේ බ්‍රිතාන්‍ය ප්‍රවණතාව නිසා ප්‍රවේශම් වන විට ('x' සහ ප්‍රමුඛ '+' සං signs ා හැර) සියලු ඉලක්කම් නොවන අක්ෂර ඉවත් කරන්න. (එම විශේෂිත අවස්ථාවෙහිදී, ඔබ (0)සම්පූර්ණයෙන්ම බැහැර කළ යුතුය ).

එවිට, ඔබ අවසන් වන්නේ:

 12345678901
 12345678901x1234
 345678901x1234
 12344678901
 12345678901
 12345678901
 12345678901
 +4112345678
 +441234567890

ඔබ දර්ශනය වන විට, ඔබේ හදවතේ අන්තර්ගතයට නැවත ආකෘතිකරණය කරන්න. උදා

  1 (234) 567-8901
  1 (234) 567-8901 x1234

35
එක්සත් ජනපදයෙන් පිටත සිට අංක පැමිණීමට ඉඩ දෙන්නේ නම් ආකෘතිකරණ කේතය කාලය නාස්ති වනු ඇත.
ඩැනියෙල් අර්විකර්

26
මෙය හොඳයි සහ සියල්ලම, නමුත් එය ඇතුලත් කළ දේ ඇත්ත වශයෙන්ම දුරකථන අංකයක් බව වලංගු නොවේ. උදාහරණයක් ලෙස, පරිශීලකයා අවශ්‍ය ඉලක්කම් 10 ඇතුලත් නොකරන්නේ නම් කුමක් කළ යුතුද? මෙය හොඳ රීජෙක්ස් වලංගුකරණය සමඟ ඒකාබද්ධ කළ යුතුය.
හියු ජෙෆ්නර්

111
ප්‍රශ්නය සලකා බැලීම වලංගු කිරීම පිළිබඳව විය - මෙය ඇත්තෙන්ම නරක පිළිතුරකි.
PlexQ

15
LexPlexQ මම එකඟ නොවෙමි. මුල් ගැටළුව දුරකථන අංක වලංගුකරණය හැසිරවීමට උත්සාහ කරන්නේ එය හැකි සෑම ආකෘතිකරණ විකල්පයක්ම හැසිරවීමට උත්සාහ කළ බැවිනි. ඒ සියල්ල විසඳීමට උත්සාහ කරනවා වෙනුවට, ආදානය ගෙන ඔබට “අංකය” ලැබෙන තුරු සියලු හැඩතල ගැන්වීම් වලින් එය පෙර-තීරු කරන්න. මෙය කිරීමෙන් ගැටළු 2 ක් විසඳේ - ප්‍රති result ලය පරීක්ෂා කිරීම දැන් පහසු වන අතර ප්‍රදර්ශනය සඳහා ආපසු ලබා දෙන අගයන් සියල්ලම නිරන්තරයෙන් සංයුති කළ හැකි බව ඔබට සහතික කළ හැකිය. "සංකීර්ණයේ අත්වැසුම්" පිළිබඳ මෙම පිළිතුර පිළිබඳ පළමු අදහස් දැක්වීම හොඳ කියවීමකි ... සමහර විට ගැටලුවකට පිළිතුර වෙනස් ආකාරයකින් ප්‍රවේශ වීමයි.
ස්කන්ලිෆ්

31
මෙතරම් ඉහළින් ඡන්දය දුන් පිළිතුර කුමක්ද? මෙය කිසිවක් වලංගු නොවේ . නරකම දෙය නම් අනෙක් සියලුම දුරකථන අංක වලංගු කිරීමේ ප්‍රශ්න මේ ගැන සඳහන් කිරීමයි ...
jlars62

306

අවම වශයෙන් උතුරු ඇමරිකාවට NANP නමින් හැඳින්වෙන මේ සඳහා පිරිවිතරයක් ඇති බව පෙනේ.

ඔබට අවශ්‍ය දේ හරියටම සඳහන් කළ යුතුය. නීතිමය පරිසීමක යනු කුමක්ද? අවකාශ, ඉර, සහ කාල පරිච්ඡේද? පරිසීමකය සඳහා අවසර නැත? එක් ඩිලිමිටර මිශ්‍ර කළ හැකිද (උදා: + 0.111-222.3333)? දිගු (උදා: 111-222-3333 x 44444) හැසිරවිය හැක්කේ කෙසේද? 911 වැනි විශේෂ අංක ගැන කුමක් කිව හැකිද? ප්‍රාදේශීය කේතය විකල්පයක්ද?

ඉලක්කම් 7 ක් හෝ 10 ක් සඳහා රීජෙක්ස් එකක් ඇත, දීර් ensions කිරීම් සඳහා අවසර දී ඇත, පරිසීමකය යනු අවකාශ, ඉරක් හෝ කාල පරිච්ඡේද වේ:

^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$

7
මෙන්න එය විස්තාරණ අංශය නොමැතිව ය (මම මගේ පරිශීලකයින් වෙනම ක්ෂේත්‍රයකට ඇතුළත් කරමි): ^ (?: (?: \ +? 1 \ s * (?: [.-] \ s *)?)? (? : (\ s * ([2-9] 1 [02-9] | [2-9] [02-8] 1 | [2-9] [02-8] [02-9]) \ s *) | ([2-9] 1 [02-9] | [2-9] [02-8] 1 | [2-9] [02-8] [02-9])) \ s * (?: [ .-] \ s *)?)? ([2-9] 1 [02-9] | [2-9] [02-9] 1 | [2-9] [02-9] {2}) \ s * (?: [.-] \ s *)? ([0-9] {4}) $
ආරෝනා

18
මෙන්න අංක 10 කින් යුත් දුරකථන අංකයකට පමණක් ගැලපෙන අනුවාදයකි (843-1212 වැනි අංක 7 නොවේ): /(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})/
බ්‍රයන් ආම්ස්ට්‍රෝං

8
ප්‍රාදේශීය කේතය වටා ඉලක්කම් 10 ක් පිළිගනී (1) රටේ කේතය ලෙස 1 ට පෙර යාමට ඉඩ නොදෙන්න(?:(?:(\s*\(?([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\)?\s*(?:[.-]\s*)?)([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})
oke ක්.

5
Te ස්ටීවන්සොරෝකා පසුගිය වසර දෙකක කාලය තුළ මගේ මේසය මත ජෙෆ්රි ෆ්‍රීඩ්ල්ගේ පොත මා ළඟ තබා ඇත. නිත්‍ය ප්‍රකාශන මගේ කාර්යයේ ප්‍රධාන අංගයකි. සාමාන්‍ය ප්‍රකාශන සැබවින්ම තේරුම් ගැනීමට හොඳ කාලයක් ගත වේ. සමහර විට, මෙම වෙබ් අඩවියේ පා readers කයින් තමන්ගේම දෑ ලිවීමට වඩා පවතින විසඳුමක් සොයමින් සිටිති, විශේෂයෙන් දුරකථන අංක නිරූපණය වැනි බොහෝ මුලික අවස්ථා ඇති වසම් වල.
ජස්ටින් ආර්.

7
@ fatcat1111 මට එය වැටහී ඇත, නමුත් මෙහි ඇති ප්‍රතිචාර වලින් බහුතරය "මමත්" වර්ගයේ නිත්‍ය ප්‍රකාශන වන අතර එය ඔබේ කිසිම මුල්ලකට නොගැලපේ. මේවා පසුව මම භාවිතා කිරීමට උත්සාහ කරන සියලුම වෙබ් අඩවි වල අවසන් වන අතර මගේ අර්ධ කේතය හෝ දුරකථන අංකය හෝ ඊමේල් ලිපිනය ඇතුළත් කළ නොහැක, මන්ද යමෙකු අඩක් පුළුස්සා නිතිපතා ප්‍රකාශනයක් භාවිතා කළ නිසාය (උදා: + ඊමේල් ලිපින වල වලංගු චරිතයකි ). මෙම පිටුවේ ඇති හොඳම ප්‍රතිචාර මඟින් පරිශීලකයින්ට පුස්තකාල වෙත යොමු කරනු ලැබේ, තුවා-සීරීමට ලක්වූ රීජෙක්ස් වලට නොවේ.
ස්ටීවන් සොරෝකා

300
.*

පරිශීලකයින්ට ඔවුන්ගේ දුරකථන අංක ඔබට ලබා දීමට අවශ්‍ය නම්, එය නිවැරදිව ලබා ගැනීමට ඔවුන් විශ්වාස කරන්න. ඔවුන් ඔබට එය ලබා දීමට අකමැති නම් වලංගු අංකයක් ඇතුළත් කිරීමට ඔවුන්ට බල කිරීම එක්කෝ ඔවුන් තරඟකරුවෙකුගේ වෙබ් අඩවියකට යවනු ඇත, නැතහොත් ඔබේ රීජෙක්ස් වලට ගැලපෙන අහඹු නූලක් ඇතුළත් කිරීමට ඔවුන් පෙළඹේ. වාරික අනුපාත කේන්දර ඇමතුම් අංකයක් සොයා බැලීමට මම පෙළඹෙනු ඇත.

පහත දැක්වෙන ඕනෑම දෙයක් වෙබ් අඩවියක වලංගු ඇතුළත් කිරීම් ලෙස මම සලකමි:

"123 456 7890 until 6pm, then 098 765 4321"  
"123 456 7890 or try my mobile on 098 765 4321"  
"ex-directory - mind your own business"

205
මම මෙහි ඇති හැඟීම සමඟ එකඟ වෙමි, නමුත් සමහර විට දුරකථන අංකය ඇත්ත වශයෙන්ම පරිශීලකයාගේ උනන්දුව සඳහා වැදගත් දෙයක් සඳහා භාවිතා කිරීමට යන විට වලංගු කිරීම සිදු කිරීම සතුටක් . මෙහි හොඳම උදාහරණය වන්නේ මිලදී ගැනීමක් සඳහා ක්‍රෙඩිට් කාඩ් අවසර දීමයි. දුරකථන අංකය වැරදියි නම්, සත්‍යාපනය අසමත් විය හැකිය.
පොයින්ටි

54
පරිශීලකයාට ඔහුගේ දුරකථන අංකය ඇතුළත් කිරීමට අවශ්‍ය නැතිනම් ඔබට ක්ෂේත්‍රය විකල්පයක් වීමට ඉඩ දිය හැකිය, නමුත් පරිශීලකයාට එකක් ඇතුළත් කිරීමට යන්නේ නම් වලංගු දුරකථන අංකයක් ඇතුළත් කරන ලෙස ඉල්ලා සිටීම බොහෝ දේද?
ජොයෙල් මැක්බෙත්

12
වලංගු කිරීමේ කාර්යභාරයක් වන්නේ හුදෙක් එකතු කිරීමට මතක නැති, නමුත් සත්‍යයෙන් පසුව අනුමාන කළ නොහැකි ප්‍රදේශ කේත ආදිය එකතු කිරීමට මිනිසුන්ට මතක් කිරීමයි.
බෙන් මැකින්ටයර්

32
පොයින්ටි නමුත් රීජෙක්ස් වලංගු කිරීම ඔබට උදව් නොකරයි. දුරකථන අංකය නිවැරදි නම් සත්‍ය වශයෙන්ම වලංගු කළ හැකි එකම ක්‍රමය වන්නේ එයට පණිවිඩයක් යැවීමයි (ජංගම දුරකථන සම්බන්ධයෙන්) සහ පරිශීලකයා යම් ආකාරයක සත්‍යාපන කේතයක් භාවිතා කරන බව තහවුරු කර ගැනීමට වග බලා ගන්න. සංඛ්‍යා නිරවද්‍යතාවය වැදගත් වන විට ඔබ කරන්නේ මෙයයි. අනෙක් සියල්ලම සමහර (නමුත් සියල්ලම නොවේ) යතුරු ලියනය කිරීම් වලින් ආරක්ෂා වීමට පරිශීලකයාගේ පහසුව සඳහා පමණක් වන අතර කිසිවක් වලංගු නොවේ.
ඇලෙක්ස් බී

14
සිසිල්. මගේ දුරකථන අංකය 1 'හෝ 1 = 1 - PWNED . Xkcd.com/327 සහ owasp.org/index.php/Testing_for_SQL_Injection_(OWASP-DV-005
ආරොන් නිව්ටන්

176

" ලිබ්ෆොනම්බර් " ගූගල් පුස්තකාලය දෙස බැලීමට ද මම යෝජනා කරමි . මම දන්නවා එය රීජෙක්ස් නොවන නමුත් එය ඔබට අවශ්‍ය දේ කරයි.

උදාහරණයක් ලෙස, එය එය හඳුනා ගනී:

15555555555

විය හැකි අංකයක් නමුත් වලංගු අංකයක් නොවේ. එය එක්සත් ජනපදයෙන් පිටත රටවලට ද සහාය වේ.

ක්‍රියාකාරීත්වයේ කැපී පෙනෙන අවස්ථා:

  • ලෝකයේ සියලුම රටවල් / කලාප සඳහා දුරකථන අංක විග්‍රහ කිරීම / ආකෘතිකරණය / වලංගු කිරීම.
  • getNumberType- අංකය මත පදනම්ව අංකයේ වර්ගය ලබා ගනී; ස්ථාවර රේඛා, ජංගම, ගාස්තු රහිත, වාරික අනුපාතය, හවුල් පිරිවැය, VoIP සහ පුද්ගලික අංක (හැකි සෑම විටම) වෙන්කර හඳුනාගත හැකිය.
  • isNumberMatch - සංඛ්‍යා දෙකක් සමාන විය හැකිද යන්න පිළිබඳ විශ්වාසනීය මට්ටමක් ලබා ගනී.
  • getExampleNumber/ getExampleNumberByType- සියලුම රටවල් / කලාප සඳහා වලංගු උදාහරණ අංක සපයයි, දුරකථන අංකය අවශ්‍ය වන්නේ කුමන ආකාරයේ උදාහරණද යන්න සඳහන් කිරීමේ විකල්පය ඇත.
  • isPossibleNumber - සම්පූර්ණ වලංගුකරණයකට වඩා වේගවත් තොරතුරු පමණක් භාවිතා කරමින් අංකයක් දුරකථන ඇමතුම් ලබා ගත හැකිදැයි ඉක්මනින් අනුමාන කිරීම.
  • isValidNumber - දිග සහ උපසර්ග තොරතුරු භාවිතා කරමින් කලාපයක් සඳහා දුරකථන අංකයක් සම්පූර්ණ වලංගු කිරීම.
  • AsYouTypeFormatter - පරිශීලකයින් එක් එක් අංකයට ඇතුළු වන විට පියාසර කරන දුරකථන අංක ආකෘතිකරණය කරයි.
  • findNumbers - පෙළ ආදානයේ අංක සොයා ගනී.
  • PhoneNumberOfflineGeocoder - දුරකථන අංකයකට අදාළ භූගෝලීය තොරතුරු සපයයි.

උදාහරණ

දුරකථන අංක වලංගු කිරීමේ ලොකුම ගැටලුව වන්නේ එය ඉතා සංස්කෘතික වශයෙන් රඳා පැවතීමයි.

  • ඇමරිකාව
    • (408) 974–2042යනු වලංගු එක්සත් ජනපදය අංකය
    • (999) 974–2042වන වලංගු නොවන ඇමරිකානු අංකය
  • ඕස්ට්‍රේලියාව
    • 0404 999 999යනු වලංගු ඔස්ට්රේලියානු අංකය
    • (02) 9999 9999ද එය යි වලංගු ඔස්ට්රේලියානු අංකය
    • (09) 9999 9999වන වලංගු නොවන ඕස්ට්රේලියානු අංකය

දුරකථන අංකයක ආකෘතිය පරීක්ෂා කිරීම සඳහා නිත්‍ය ප්‍රකාශනයක් හොඳයි, නමුත් දුරකථන අංකයක වලංගුභාවය පරීක්ෂා කිරීමට එය සැබවින්ම නොහැකි වනු ඇත .

ඔබගේ දුරකථන අංකය පරීක්ෂා කිරීමට සරල නිත්‍ය ප්‍රකාශනයක් මඟ හැරීමට සහ ගූගල් වැනි පුස්තකාලයක් භාවිතා කිරීමට මම යෝජනා කරමි libphonenumber(GitHub ව්‍යාපෘතියට සබැඳිය) .

Libphonenumber හඳුන්වා දීම!

ඔබගේ වඩාත් සංකීර්ණ උදාහරණ වලින් එකක් භාවිතා කිරීමෙන් 1-234-567-8901 x1234ඔබට පහත දත්තlibphonenumber ලබා ගත හැකිය (සබැඳි නිරූපණයට සබැඳිය) :

Validation Results

Result from isPossibleNumber()  true
Result from isValidNumber()     true

Formatting Results:

E164 format                    +12345678901
Original format                (234) 567-8901 ext. 123
National format                (234) 567-8901 ext. 123
International format           +1 234-567-8901 ext. 123
Out-of-country format from US  1 (234) 567-8901 ext. 123
Out-of-country format from CH  00 1 234-567-8901 ext. 123

එබැවින් දුරකථන අංකය වලංගු දැයි ඔබ ඉගෙන ගන්නවා පමණක් නොව (එය එයයි) පමණක් නොව, ඔබේ ස්ථානයේ ස්ථාවර දුරකථන අංක හැඩතල ගැන්වීමක්ද ඔබට ලැබේ.

ප්‍රසාද දීමනාවක් ලෙස, libphonenumberදුරකථන අංක වල වලංගුභාවය පරීක්ෂා කිරීම සඳහා දත්ත කට්ටල ගණනාවක් ඇත, එබැවින් +61299999999(අන්තර්ජාතික අනුවාදය (02) 9999 9999) ප්‍රතිලාභ වැනි සංඛ්‍යාවක් පරීක්ෂා කිරීම වලංගු අංකයක් ලෙස ආකෘතිකරණය සමඟ පරීක්ෂා කිරීම:

Validation Results

Result from isPossibleNumber()  true
Result from isValidNumber()     true

Formatting Results

E164 format                    +61299999999
Original format                61 2 9999 9999
National format                (02) 9999 9999
International format           +61 2 9999 9999
Out-of-country format from US  011 61 2 9999 9999
Out-of-country format from CH  00 61 2 9999 9999

දුරකථන අංකය හඳුනාගෙන ඇති ස්ථානය උදුරා ගැනීම සහ දුරකථන අංකයෙන් කාල කලාප තොරතුරු ලබා ගැනීම වැනි අමතර ප්‍රතිලාභ රාශියක් libphonenumber ඔබට ලබා දෙයි:

PhoneNumberOfflineGeocoder Results
Location        Australia

PhoneNumberToTimeZonesMapper Results
Time zone(s)    [Australia/Sydney]

නමුත් වලංගු දුරකථන අංකයක් නොවන බව අවලංගු ඕස්ට්‍රේලියානු දුරකථන අංකය ( (09) 9999 9999) නැවත ලබා දෙයි.

Validation Results

Result from isPossibleNumber()  true
Result from isValidNumber()     false

ගූගල් අනුවාදයේ ජාවා සහ ජාවාස්ක්‍රිප්ට් සඳහා කේත ඇත, නමුත් මිනිසුන් ගූගල් අයි 18n දුරකථන අංක දත්ත කට්ටලය භාවිතා කරන වෙනත් භාෂා සඳහා පුස්තකාල ක්‍රියාත්මක කර ඇත:

ඔබ සැමවිටම එක් පෙදෙසකින් අංක භාර ගන්නා බව ඔබට විශ්වාස නැතිනම් සහ ඒවා සෑම විටම එකම ආකෘතියකින් යුක්ත වනු ඇත, මේ සඳහා ඔබේම කේතයක් ලිවීම නොකිරීමට මම දැඩි ලෙස යෝජනා කරමි, සහ දුරකථන අංක වලංගු කිරීම සහ ප්‍රදර්ශනය කිරීම සඳහා libphonenumber භාවිතා කරන්න.


දැන් වරාය ද ඇති බව සඳහන් කරමින්: github.com/ttacon/libphonenumber
michaelhanson

එය විය හැකි අංකයක් දැයි පරීක්ෂා කිරීමේදී ඔබට රටේ කේතයක් නියම කිරීමට අවශ්‍ය නොවේද? මම PHP අනුවාදය භාවිතා කරන අතර මම බ්‍රිතාන්‍ය අංකයක් ඇතුළත් කළහොත් (0 වෙනුවට තාත්වික සංඛ්‍යා ආදේශ කරන්න) 07700000000මට Missing or invalid default region.දෝෂයක් ඇතිවේ. නමුත් මම රට කේතය සඳහන් කළහොත් එය සමත් වනු ඇත.
BugHunterUK

FYI: මෙම පුස්තකාලය සමහර රටවල් සඳහා පහසුකම් සපයන්නේ නැත, phpinterviewquestions.co.in/blog/ionic/...
sijo විජයන්

2
UgBugHunterUK (සහ මෙම ප්‍රශ්නය අසන ඕනෑම කෙනෙකුට පුදුම වන්නේ නම්) අංකයක් විග්‍රහ කිරීමේදී ඔබට අපේක්ෂිත කලාපය නියම කළ හැකි අතර පුස්තකාලය එම කලාපයේ ජාත්‍යන්තර නොවන අංක සොයනු ඇත. ඔබ සඳහන් නොකරන්නේ නම්, එය වලංගු ජාත්‍යන්තර ආකෘතියකින් නොවන කිසිවක් ප්‍රතික්ෂේප කරනු ඇත.
IMSoP

Github.com/nyaruka/phonenumbers සලකා බලන්න , එය libphonenumber වෙනුවට ගූගල් විසින් නිර්දේශ කරනු ලබන "නිල" Go පැකේජය බවට පත්ව ඇත.
ඩීසෝන්

80

/^(?:(?:\(?(?:00|\+)([1-4]\d\d|[1-9]\d?)\)?)?[\-\.\ \\\/]?)?((?:\(?\d{1,}\)?[\-\.\ \\\/]?){0,})(?:[\-\.\ \\\/]?(?:#|ext\.?|extension|x)[\-\.\ \\\/]?(\d+))?$/i

මෙය ගැලපේ:

 - (+351) 282 43 50 50
 - 90191919908
 - 555-8909
 - 001 6867684
 - 001 6867684x1
 - 1 (234) 567-8901
 - 1-234-567-8901 x1234
 - 1-234-567-8901 ext1234
 - 1-234 567.89/01 ext.1234
 - 1(234)5678901x1234
 - (123)8575973
 - (0055)(123)8575973

On n මත, එය ඉතිරි කරයි:

  1. රට දර්ශකය
  2. දුරකතන අංකය
  3. දිගු කිරීම

ඔබට එය https://www.regexpal.com/?fam=99127 හි පරීක්ෂා කළ හැකිය


මෙය මා දුටු වඩාත්ම සවිස්තරාත්මක රීජෙක්ස් ය. එය ඔබ ඉවත් වන තුරු පමණ ලබා ගැනීමට පහසු වේ ^හා $හෝ වෙන මම භාවිතා, එය වටා ලබා ගැනීමට හැකි වෙනවා [111] [111] [1111]හෝ 111--111--1111ඒ හා සමාන. (කණගාටුයි, මගේ අවසාන අදහස මකා දැමුවා)
bafromca

කරුණාකර නැවත වාක්‍ය ඛණ්ඩයක් යෙදිය හැකිද? මට මෙය තේරුම් ගත නොහැක: "ඔබ remove සහ remove ඉවත් කරන තුරු වටපිටාව ලබා ගැනීම පහසුය. එසේ නොමැතිනම් [111] [111] [1111] භාවිතා කර මට එය වටා යා හැකිය." එය ඔබ ගත විට එය මනාව තහවුරු බව ඉන් අදහස් කරන්නේ කුමක්ද '' [111] [111] [1111] ' ^සහ $?
ඉස්මයිල් මිගෙල්

මම භාවිතා කර ඔබගේ regex පමණ විය [111] [111] [1111]සහ 111--111--1111මම ඉවත් වන තුරු ^හා $එම regex සිට.
bafromca

11
Comment විවරණ නූල් කතාබස් නොකිරීමට හේතුව මෙයයි. මෙම සංවාදය සිදුවූයේ කෙසේද යන්න පිළිබඳව මම ඉතා උනන්දු වන අතර මෙම ReGex මගේ යෙදුමේ භාවිතා කිරීමට තරම් ශක්තිමත් දැයි දැන ගැනීමට අවශ්‍යය. අවාසනාවට, චැට් සංවාදය දැන් නැති වී ඇත.
මැට් කැෂට්

1
ඇත්තම කිව්වොත් මම කතාබස් කරන්න ගියේ නැහැ. පැහැදිලි කිරීම් සඳහා කිහිප වතාවක්ම විමසීමෙන් පසුව, මට කිසිදු තොරතුරක් ඉතිරි නොවීය. ඔබට විවිධ ආකාරවලින් සබැඳිව සොයාගත හැකි සියලු වර්ගවල සංඛ්‍යා සමඟ එය සැමවිටම උත්සාහ කළ හැකිය. මම මේ සමඟ උත්සාහ කළ එක් දෙයක් නම් දුරකථන අංක කිහිපයක් භාවිතා කිරීමයි, නමුත් ඔවුන්ට අවකාශයක් තිබේ නම් එය එතරම් සාර්ථක නොවේ. ඉලක්කම් ප්‍රමාණය ගණනය කිරීමට සහ නිශ්චිත මුදලක් බලාත්මක කිරීමට මට විසඳුමක් සොයා ගත යුතුය.
ඉස්මයිල් මිගෙල්

63

සියලු සුදු අවකාශය ඉවත් කිරීමට පිළිතුර පිළිවෙලට තිබුණද, එය ඇත්ත වශයෙන්ම මතු වී ඇති ගැටලුව විසඳන්නේ නැත, එනම් රීජෙක්ස් සොයා ගැනීමයි. උදාහරණයක් ලෙස, වෙබ් පිටුවක් බාගත කර රීජෙක්ස් භාවිතයෙන් සියලුම දුරකථන අංක උපුටා ගන්නා මගේ පරීක්ෂණ පිටපත ගන්න. ඔබට කෙසේ හෝ රීජෙක්ස් අවශ්‍ය වන හෙයින්, ඔබට රීජෙක්ස් විසින් සියලු වැඩ කටයුතු කළ හැකිය. මම මෙය ඉදිරිපත් කළෙමි:

1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?

මෙන්න එය පරීක්ෂා කිරීම සඳහා පර්ල් පිටපතක්. ඔබ ගැලපෙන විට, code 1 හි ප්‍රාදේශීය කේතය, $ 2 සහ $ 3 දුරකථන අංකය අඩංගු වන අතර $ 5 දිගුව අඩංගු වේ. මගේ පරීක්ෂණ පිටපත අන්තර්ජාලයෙන් ගොනුවක් බාගත කර එහි ඇති සියලුම දුරකථන අංක මුද්‍රණය කරයි.

#!/usr/bin/perl

my $us_phone_regex =
        '1?\W*([2-9][0-8][0-9])\W*([2-9][0-9]{2})\W*([0-9]{4})(\se?x?t?(\d*))?';


my @tests =
(
"1-234-567-8901",
"1-234-567-8901 x1234",
"1-234-567-8901 ext1234",
"1 (234) 567-8901",
"1.234.567.8901",
"1/234/567/8901",
"12345678901",
"not a phone number"
);

foreach my $num (@tests)
{
        if( $num =~ m/$us_phone_regex/ )
        {
                print "match [$1-$2-$3]\n" if not defined $4;
                print "match [$1-$2-$3 $5]\n" if defined $4;
        }
        else
        {
                print "no match [$num]\n";
        }
}

#
# Extract all phone numbers from an arbitrary file.
#
my $external_filename =
        'http://web.textfiles.com/ezines/PHREAKSANDGEEKS/PnG-spring05.txt';
my @external_file = `curl $external_filename`;
foreach my $line (@external_file)
{
        if( $line =~ m/$us_phone_regex/ )
        {
                print "match $1 $2 $3\n";
        }
}

සංස්කරණය කරන්න:

රිජෙක්ස් හි ඔබට \ W * \ s * \ W? \ S * ලෙස වෙනස් කළ හැකිය. මම පෝරමයක් ලිවීමේදී පරිශීලක ආදානය වලංගු කිරීම අනුව, රීජෙක්ස් ගැන නොසිතුවෙමි, නමුත් මෙම වෙනස නිසා එම අරමුණු සඳහා රීජෙක්ස් භාවිතා කළ හැකිය.

'1?\s*\W?\s*([2-9][0-8][0-9])\s*\W?\s*([2-9][0-9]{2})\s*\W?\s*([0-9]{4})(\se?x?t?(\d*))?';

2
FYI රීජෙක්ස් ද ගැලපේ: (4570457-6789එය සාමාන්‍ය යතුරු ලියනයකි. තරඟ කණ්ඩායම් ද මග හැරී
SooDesuNe

OoSooDesuNe පෙර සූදානම (^|[^\d\n])(බහු රේඛා ධජය සහිතව) සාමාන්‍ය ගැටළුව මඟහරවා ගනී, එය සංඛ්‍යාත්මක දෙයකට වහාම නොපැමිණෙන බව සහතික කිරීමෙන්.
btown

මෙය උතුරු ඇමරිකාව කේන්ද්‍රීය බව සලකන්න - එය "44 7911 123456" මග හැරේ
බෙන් වීලර්

46

මගේ පිළිතුර මෙම ත්‍රෙඩ් එකේ පිළිතුරක් ලෙස ඇතුළත් කිරීමට තීරණය කිරීමට පෙර මම මෙම ප්‍රශ්නයට තවත් SO ප්‍රශ්නයකට පිළිතුරු දුන්නෙමි, මන්ද කිසිවෙකු අවශ්‍ය නොවන / අවශ්‍ය නොවන ආකාරය ආමන්ත්‍රණය නොකිරීම නිසා රීජෙක්ස් භාර දීම: රීජෙක්ස් වැරදි ලෙස ක්‍රියා කිරීම, අනපේක්ෂිත දේ ගැලපීම

එම වෙබ් අඩවියේ මගේ පෝස්ට් එකෙන්, ඕනෑම කෙනෙකුට තමන්ගේම දුරකථන අංක ආකෘතියක් සඳහා රීජෙක්ස් සෑදීම සඳහා ඉක්මන් මාර්ගෝපදේශයක් නිර්මාණය කර ඇති අතර, එය මම සීමා කරමි (අනෙක් වෙබ් අඩවියේ කළාක් මෙන්) ඔබ සීමා සහිත නම්, ඔබට අපේක්ෂිත ප්‍රති results ල නොලැබිය හැකි අතර, ලෝකයේ ඇති සියලුම දුරකථන අංක පිළිගැනීමට “එක් ප්‍රමාණයක් සියල්ලටම ගැළපෙන” විසඳුමක් නොමැත - ඔබ තෝරා ගන්නා ආකෘතිය ලෙස පිළිගැනීමට ඔබ තීරණය කළ දේ පමණි. ඔබේම අවදානමකට භාවිතා කරන්න.

ඉක්මන් වංචා පත්‍රය

  • ප්‍රකාශනය ආරම්භ කරන්න: /^
  • ඔබට ඉඩක් අවශ්‍ය නම්, භාවිතා කරන්න: [\s]හෝ\s
  • ඔබට වරහන් අවශ්‍ය නම්, භාවිතා කරන්න: [(]සහ [)]. භාවිතා කිරීම \(හා \)කැත වන අතර එය අවුල් සහගත විය හැකිය.
  • ඔබට යමක් විකල්පයක් වීමට අවශ්‍ය නම්, ?පසුව එය තබන්න
  • ඔබට යටි ඉරක් අවශ්‍ය නම් ටයිප් කරන්න -හෝ [-]. ඔබ එය වෙනත් අක්ෂර මාලාවකට මුල් හෝ අවසාන වශයෙන් ඇතුළත් නොකරන්නේ නම්, ඔබට එයින් ගැලවීමට අවශ්‍ය විය හැකිය: \-
  • ඔබට විවිධ තේරීම් තව් පිළිගැනීමට අවශ්‍ය නම්, විකල්ප වටා වරහන් තබන්න: [-.\s]යටි ඉරක්, කාල පරිච්ඡේදයක් හෝ ඉඩක් අවශ්‍ය වේ. අන්තිම වරහනෙන් පසු ප්‍රශ්නාර්ථ ලකුණක් එම තව් සඳහා විකල්පයක් වනු ඇත.
  • \d{3}: ඉලක්කම් 3 ක අංකයක් අවශ්‍යයි: 000-999. සඳහා කෙටිමං [0-9][0-9][0-9].
  • [2-9] : එම තව් සඳහා 2-9 ඉලක්කම් අවශ්‍ය වේ.
  • (\+|1\s)?: "ප්ලස්" හෝ 1 සහ අවකාශයක් (පයිප්ප අක්ෂරය, |"හෝ") පිළිගෙන එය විකල්පයක් බවට පත් කරන්න. "ප්ලස්" ලකුණ ගැලවිය යුතුය.
  • ඔබ විශේෂිත සංඛ්යා සරසන ගැලපෙන කිරීමට අවශ්ය නම්, ඔවුන් ඇතුල් කරන්න: [246]2, 4, හෝ 6. අවශ්ය වනු ඇත (?:77|78)හෝ [77|78]77 හෝ 78 අවශ්ය වනු ඇත.
  • $/ : ප්‍රකාශනය අවසන් කරන්න

1
මෙය ඉතා ප්‍රයෝජනවත් වේ, නමුත් මම සැක කරන අතර {මිනි, උපරිම} ප්‍රකාශනයක් සොයමි. ඔයාට උදව් කරන්න පුළුවන්ද?
අටබෝයි ජොසෙෆ්

එය අප කතා කරන තනි ඉලක්කම් නම් (ඔබට එය අනුව ගැලපෙන පරිදි කළ හැකිය), [2-9]මා එහි තැබූ කොටස බලන්න . ඒ කියන්නේ ඔබේ මිනිත්තුව 2 යි, ඔබේ උපරිමය 9 යි. ඒ අනුව සකස් කරන්න.
vapcguy

30

මම සරලම ලිව්වා (මට එහි තිතක් අවශ්‍ය නොවුනත්).

^ ([0-9 \ (\) \ / \ + \ -] *) $

පහත සඳහන් පරිදි, එය පරික්ෂා කරන්නේ අක්ෂර සඳහා මිස එහි ව්‍යුහය / අනුපිළිවෙල නොවේ


38
මෙය තාක්ෂණික වශයෙන් වලංගු නොවන ටොන් ගණනක් වලංගු වේ. වැනි, "- + () () () ()))". නිත්‍ය ප්‍රකාශන කියවීමට ඉගෙන ගන්න එවිට ඔබ කරන්නේ කුමක්ද යන්න ඔබට තේරුම් ගත හැකිය.
ස්ටීවන් සොරෝකා

3
Te ස්ටීවන්සොරොකා තාක්‍ෂණිකව එය අවලංගු අවස්ථා රාශියකට ඉඩ දිය හැකිය, නමුත් සරලම විසඳුම සමඟ පොදු වැරදි මඟහරවා ගැනීමට පරිශීලකයාට උදව් කිරීම ගැන අප සිතන විට, මෙය යා යුතු මාර්ගයයි :)
happyhardik

2
මෙය සුදු අවකාශයට ගැලපේ, හිස් රේඛාව
වසීම් ඒ.

1
AppHappyHardik. ඇත්ත වශයෙන්ම. සරල සහ බලවත්, මූලික වලංගු කිරීම සඳහා පරිශීලකයාට තිත්, ඉරක්, වරහන හෝ ප්ලස් එකකට වඩා ටයිප් කිරීමට ඉඩ දෙන්න.
dijipiji

එය භාවිතා කළ අතර එය බොහෝ පැතිවලින් වැරදිය. උදාහරණයක් ලෙස, එක්සත් රාජධානියේ දුරකථන අංකයක් +44 සමඟ ආරම්භ විය හැකිය, නැතහොත් දුරකථන නූබර් තුළ (0) තිබිය හැක. නමුත් ඔබේ නිත්‍ය ප්‍රකාශනය අනුව මෙය වලංගු නොවේ. ඉස්මයිල් මිගෙල්ගේ පිළිතුර මම නිර්දේශ කරමි. එය ඉතා හොඳින් ක්‍රියාත්මක වන අතර ඔබේ පිළිතුර සංශෝධනය කිරීමට මම ඔබට නිර්දේශ කරමි.
ස්ටෙලියෝස් වොස්කොස්

23

()අක්ෂර ඉවත් කිරීම පොදු එක්සත් රාජධානියේ අංක ලිවීමේ ශෛලියක් සඳහා ක්‍රියා නොකරන බව සලකන්න : +44 (0) 1234 567890එයින් අදහස් කරන්නේ ජාත්‍යන්තර අංකය අමතන්න:
+441234567890
හෝ එක්සත් රාජධානියේ ඩයල් එකෙනි01234567890



22

ඔබට සත්‍යාපනය කිරීමට අවශ්‍ය නම් ඔබට ක්ෂේත්‍රයේ අහඹු කුණු නොමැති බව (එනම්, ආකෘති අයාචිත තැපැල් වලින්) මෙම රීජෙක්ස් ඉතා හොඳින් කළ යුතුය:

^[0-9+\(\)#\.\s\/ext-]+$

ඉලක්කම් කීයක් හෝ එම ඉලක්කම් වල වලංගු වන්නේ කුමන සංඛ්‍යා සඳහාද යන්නට විශේෂ නීති නොමැති බව සලකන්න, එය සත්‍යාපනය කරන්නේ ඉලක්කම්, වරහන්, ඉර, ප්ලස්, අවකාශය, පවුම, තරු ලකුණු, කාල සීමාව, කොමාව හෝ අකුරු පමණි. e, x, tමෙහි වෙති.

එය ජාත්‍යන්තර අංක සහ ප්‍රාදේශීයකරණ ආකෘතීන් සමඟ අනුකූල විය යුතුය. සමහර කලාප සඳහා හතරැස්, කැරලි හෝ කෝණික වරහන් වලට ඉඩ දිය යුතු යැයි ඔබ පුරෝකථනය කර තිබේද? (දැනට ඒවා ඇතුළත් නොවේ).

ඔබට එක් ඉලක්කම් රීතියක් පවත්වා ගැනීමට අවශ්‍ය නම් (එක්සත් ජනපද ප්‍රදේශ කේත සහ උපසර්ග වැනි (හුවමාරු කේත) 200-999 පරාසය තුළට වැටිය යුතුය) ඔබට සුබ පැතුම්. ලෝකයේ ඕනෑම රටකට අනාගතයේ ඕනෑම අවස්ථාවක යල් පැන යා හැකි සංකීර්ණ නීති මාලාවක් පවත්වාගෙන යාම විනෝදයක් නොවේ.

සියලු / බොහෝ සංඛ්‍යා නොවන අක්‍ෂර ඉවත් කරන විට සේවාදායකයාගේ පැත්තෙන් හොඳින් ක්‍රියා කළ හැකිය (විශේෂයෙන් ඔබ මෙම අගයන් ඩයලර් වෙත යැවීමට සැලසුම් කරන්නේ නම්), වලංගු කිරීමේදී පරිශීලකයාගේ ආදානය තල්ලු කිරීමට ඔබට අවශ්‍ය නොවනු ඇත, විශේෂයෙන් ඔබට ඒවා අවශ්‍ය නම් වෙනත් ක්ෂේත්‍රයක නිවැරදි කිරීම් කරන්න.


15

ඔබ RegExLib දෙස බැලුවද ?

එක්සත් ජනපද දුරකථන අංකයට ඇතුළත් කිරීමෙන් හැකියාවන් ලැයිස්තුවක් නැවත ගෙන එන ලදි.


3
මෙය ඔබගේ කේතයට අපැහැදිලි දෝෂ ඒකාබද්ධ කිරීමට හොඳ ක්‍රමයක් සේ පෙනේ.
ටොම් සාමිවරයා

සබැඳිය-පමණක් පිළිතුරු වළක්වා ගත යුත්තේ ඒවා අනාගතයේ දී බිඳී පෝස්ට් නිෂ් less ල වන බැවිනි. පිළිතුරක වටිනාකම පවත්වා ගැනීම සඳහා ස්ථිතික විසඳුම් සැමවිටම අවශ්‍ය වේ. ඔබට අධි-සබැඳියක් නිර්දේශ කිරීමට අවශ්‍ය නම්, එය ප්‍රශ්නය යටතේ අදහස් දැක්වීමක් ලෙස එක් කරන්න.
mickmackusa

12

සීමා රහිත රීජෙක්ස් සඳහා මගේ උත්සාහය:

/^[+#*\(\)\[\]]*([0-9][ ext+-pw#*\(\)\[\]]*){6,45}$/

පිළිගනී:

+(01) 123 (456) 789 ext555
123456
*44 123-456-789 [321]
123456
123456789012345678901234567890123456789012345
*****++[](][((( 123456tteexxttppww

ප්‍රතික්ෂේප කරයි:

mob 07777 777777
1234 567 890 after 5pm
john smith
(empty)
1234567890123456789012345678901234567890123456
911

එය ප්‍රදර්ශනය සඳහා සනීපාරක්ෂාව කිරීම ඔබ සතු ය. වලංගු කිරීමෙන් පසුව එය අංකයක් විය හැකිය.


12

මෙය ඉතා හොඳින් ක්‍රියාත්මක වන බව මට පෙනී ගියේය:

^\(*\+*[1-9]{0,3}\)*-*[1-9]{0,3}[-. /]*\(*[2-9]\d{2}\)*[-. /]*\d{3}[-. /]*\d{4} *e*x*t*\.* *\d{0,4}$

මෙම සංඛ්‍යා ආකෘති සඳහා එය ක්‍රියා කරයි:

1-234-567-8901
1-234-567-8901 x1234
1-234-567-8901 ext1234
1 (234) 567-8901
1.234.567.8901
1/234/567/8901
12345678901
1-234-567-8901 ext. 1234
(+351) 282 433 5050

වග බලා ගැනීම සඳහා ගෝලීය සහ බහු ධජ භාවිතා කිරීමට වග බලා ගන්න.

සබැඳිය: http://www.regexr.com/3bp4b


11

ඔබ පෝරම වලංගු කිරීම ගැන කතා කරන්නේ නම්, විවිධ රට සහ සැපයුම්කරුවන්ගේ ප්‍රමිතීන් නිසා නිවැරදි අර්ථය මෙන්ම නිවැරදි දත්ත වලංගු කිරීම සඳහා වන රීජෙක්ස් අතිශයින් සංකීර්ණ වනු ඇත. යාවත්කාලීනව තබා ගැනීම ද දුෂ්කර වනු ඇත.

මම ප්‍රශ්නය අර්ථකථනය කරන්නේ පුළුල් ලෙස වලංගු රටාවක් සොයමින් වන අතර එය අභ්‍යන්තරව නොගැලපේ - නිදසුනක් ලෙස වලංගු සංඛ්‍යා සමූහයක් තිබීම, නමුත් රටේ කේත උපසර්ගය සඳහා වලංගු රටාවට කඳ-රේඛාව, හුවමාරුව යනාදිය වලංගු නොවේ. .

උතුරු ඇමරිකාව සරල ය, ජාත්‍යන්තරය සඳහා මිනිසුන්ගේ සංඛ්‍යා නියම කර මතක තබා ගත හැකි ක්‍රම ආවරණය වන 'මුග්ධ' රටාවක් භාවිතා කිරීමට මම කැමැත්තෙමි:

^((((\(\d{3}\))|(\d{3}-))\d{3}-\d{4})|(\+?\d{2}((-| )\d{1,8}){1,5}))(( x| ext)\d{1,5}){0,1}$

උතුරු ඇමරිකානු රටාව මඟින් එක් වරහනක් ඇතුළත් කර ඇත්නම් ඒ දෙකම ඇතුළත් වේ. විකල්ප ආරම්භක '+' සහ රට කේතය සඳහා ජාත්‍යන්තර ගිණුම්. ඊට පසු, ඔබ මෝඩකමෙහි සිටී. වලංගු තරඟ වනුයේ:

  • (xxx)xxx-xxxx
  • (xxx)-xxx-xxxx
  • (xxx)xxx-xxxx x123
  • 12 1234 123 1 x1111
  • 12 12 12 12 12
  • 12 1 1234 123456 x12345
  • +12 1234 1234
  • +12 12 12 1234
  • +12 1234 5678
  • +12 12345678

මගේ අත්දැකීම් උතුරු ඇමරිකාව, යුරෝපය සහ කුඩා ආසියාවට පමණක් සීමා වී ඇති බැවින් මෙය පක්ෂග්‍රාහී විය හැකිය.


ඉහත සඳහන් දෑ මගේ ජාවාස්ක්‍රිප්ට් වලංගු කිරීමේ ස්ක්‍රිප්ටයේ ක්‍රියාත්මක කිරීමට උත්සාහ කළ නමුත් මම දිගටම invalid quantifierදෝෂයක් ලබා ගනිමි . මම වැරදි කරන දේ ගැන යම් අදහසක් තිබේද?
ජැනිස්

සංකේතය නොමැතිව දුරකථනය නිශ්චිතව දක්වා ඇති නමුත් අවකාශය සහ රටේ කේතය යුරෝපයේ දේශීය හා ජංගම දුරකථන සඳහා සාමාන්‍ය වේ: 676412342, 676 46 32 12, 676 463 212
රූප්ස්

11

මෙන්න මට සාක්ෂාත් කර ගැනීමට අවශ්‍ය වූ වලංගු භාවය වඩාත් සමීපව ගැලපෙන අපූරු රටාවක්. මම මුල් කතුවරයා නොවෙමි, නමුත් මෙම ගැටළුව ඉතා සංකීර්ණ හා සංක්ෂිප්ත හෝ පුළුල් ලෙස ප්‍රයෝජනවත් පිළිතුරක් නොමැති බව මට පෙනී ගිය හෙයින් එය බෙදා ගැනීම වටී යැයි මම සිතමි.

පහත දැක්වෙන රීජෙක්ස් විවිධ ගෝලීය දුරකථන අංක ආකෘතිවල බහුලව භාවිතා වන අංක සහ චරිත සංයෝජන අල්ලා ගනු ඇත:

/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/gm

ධනාත්මක:
+42 555.123.4567
+ 1- (800) -123-4567
+7 555 1234567
+7 (926) 1234567
(926) 1234567
+79261234567
926 1234567
9261234567
1234567
123-4567
123-89-01
495 1234567
, 469, 123 45 67
89261234567
8 (926) 1234567
926.123.4567
415-555-1234
650-555-2345
(416)555-3456
202 555 4567
4035555678
1 416 555 9292

සෘණ:
926 3 4
8 800 600-ඇපල්

මුල් ප්‍රභවය: http://www.regexr.com/38pvb


මෙය දිගු සඳහා යම් සීමිත සහයෝගයක් ඇත. එය "616-555-1234 x567" ට ගැලපෙන නමුත් "616-555-1234 දිග 567" නොවේ.
ජෝන් ෂ්නයිඩර්

2
උදා සඳහා ව්‍යාජ ධනාත්මක "------- ((((55555555" හෝ "99999999999999999999999"
mikep

එය වලංගු නොවේ නේටර්ලන්ඩ් මැක්ඩොනල්ඩ්ස් අංකය +31 76 596 4192 (මම අහඹු සංඛ්‍යා සඳහා පරීක්‍ෂා කරමින්
සිටියෙමි

10

මෙම මාතෘකාවට ලැබෙන පිළිතුරු ප්‍රමාණයෙන් මගේ බඩවැල් හැඟීම ශක්තිමත් වේ - මෙම ගැටලුවට සැබවින්ම අසීමිත විසඳුම් සංඛ්‍යාවක් ඇති අතර, ඒ කිසිවක් අලංකාර නොවනු ඇත.

අවංකවම, දුරකථන අංක වලංගු කිරීමට උත්සාහ නොකරන්නැයි මම ඔබට නිර්දේශ කරමි. විවිධ නීත්‍යානුකූල ආකෘතීන්ට ඉඩ සලසන විශාල, කෙස් කළඹක් ඔබට ලිවිය හැකි වුවද, එය අවසන් වන්නේ දුරස්ථව දුරකථන අංකයකට සමාන ඕනෑම දෙයකට ඉඩ දීමෙනි.

මගේ මතය අනුව, වඩාත්ම අලංකාර විසඳුම වන්නේ අවම දිගක් වලංගු කිරීමයි.


මේවායින් බොහොමයක් උත්සාහ කර පරිශීලකයින්ගේ පවතින දත්ත සහ ප්‍රතිපෝෂණ බැලීමෙන් පසු මම එකඟ වීමට කැමැත්තෙමි ...
ක්‍රිස්ටෝපර් කිං

සමහර විට ඔබ වලංගු කිරීම කළ යුතුය. මම තහවුරු කිරීමේ කේත යවනවා නම්, ස්පෑම්කරුවෙකුට ක්ෂේත්‍රයේ ආදාන ඇති අහඹු කුණු කසළකට කේතයක් යැවිය නොහැක. මම වග බලා ගන්න අංකය කරන්න ඕන බොහෝ විට එය පණිවිඩ සම්පත් නාස්ති පෙර දුරකථන අංකයක්.
ලූක්

10

මෙය පිලිපීන ජංගම දුරකථන අංක සඳහා සරල නිත්‍ය ප්‍රකාශන රටාවකි:

((\+[0-9]{2})|0)[.\- ]?9[0-9]{2}[.\- ]?[0-9]{3}[.\- ]?[0-9]{4}

හෝ

((\+63)|0)[.\- ]?9[0-9]{2}[.\- ]?[0-9]{3}[.\- ]?[0-9]{4}

මේවාට ගැලපෙනු ඇත:

+63.917.123.4567  
+63-917-123-4567  
+63 917 123 4567  
+639171234567  
09171234567  

පළමුවැන්න ඕනෑම ඉලක්කම් දෙකක රටක කේතයකට ගැලපෙන අතර දෙවැන්න පිලිපීන රට කේතයට පමණක් ගැලපේ.

එය මෙහි පරීක්ෂා කරන්න: http://refiddle.com/1ox


ස්තූතියි. 028231234 වැනි ප්‍රාදේශීය කේතය සහිත ලෑන්ඩ්ලයින් අංක ගැන කුමක් කිව හැකිද? මම කල්පනා කරන්නේ ප්‍රදේශ කේත ඉලක්කම් 2-3 ක් පමණක් වන අතර ඒවා සෑම විටම 0 ට පෙර තිබේද?
කුණාටු

9

මෙන්න මේ දක්වා මගේ හොඳම උත්සාහය. එය ඉහත ආකෘතීන් හසුරුවන නමුත් මට විශ්වාසයි මට වෙනත් ආකෘති කිහිපයක් නැති වී ඇති බව.

^\d?(?:(?:[\+]?(?:[\d]{1,3}(?:[ ]+|[\-.])))?[(]?(?:[\d]{3})[\-/)]?(?:[ ]+)?)?(?:[a-zA-Z2-9][a-zA-Z0-9 \-.]{6,})(?:(?:[ ]+|[xX]|(i:ext[\.]?)){1,2}(?:[\d]{1,5}))?$

9

තනි / සරල රීජෙක්ස් සමඟ ජාත්‍යන්තර අංක සමඟ කටයුතු කිරීමට ඔබට අපහසු වනු ඇත, ජාත්‍යන්තර (සහ උතුරු ඇමරිකානු පවා) දුරකථන අංකවල දුෂ්කරතා පිළිබඳ මෙම ලිපිය බලන්න .

රටේ කේතය යනු කුමක්දැයි තීරණය කිරීම සඳහා ඔබට පළමු ඉලක්කම් කිහිපය විග්‍රහ කිරීමට අවශ්‍ය වනු ඇත, ඉන්පසු රට මත පදනම්ව වෙනස් ලෙස ක්‍රියා කරන්න.

ඉන් ඔබ්බට - ඔබ ලබා දුන් ලැයිස්තුවට තවත් පොදු එක්සත් ජනපද ආකෘතියක් ඇතුළත් නොවේ - ආරම්භක 1 අතහැර දමයි. එක්සත් ජනපදයේ බොහෝ ජංගම දුරකථන වලට එය අවශ්‍ය නොවන අතර, තරුණ පරම්පරාව ජාත්‍යන්තරව ඇමතුවේ නැත්නම් එය අවුල් කිරීමට පටන් ගනී.

එය නිවැරදි ගැටළුවක් බව ඔබ නිවැරදිව හඳුනාගෙන ඇත ...

-ආදම්


ඉදිරිපත් කළ විසඳුමක් නොවේ. එය කළ හැකි ය. එය ව්‍යාකූල හෝ සංකීර්ණ නිසා ඔබ ඔබේ දෑත් ඉහළට විසි කළ යුතු යැයි අදහස් නොකෙරේ.
එරික් හොඩොන්ස්කි

7

මෙම පිළිතුරු කියවීමෙන් පසු, පෙළ පොකුරක් විග්‍රහ කර ඕනෑම අංකයකින් දුරකථන අංක අදින්න (ප්ලස් ලකුණ සමඟ සහ නැතිව ජාත්‍යන්තරය ඇතුළුව) සෘජු නිත්‍ය ප්‍රකාශනයක් නොතිබූ බව පෙනේ.

මෙන්න මම මෑතකදී සේවාදායක ව්‍යාපෘතියක් සඳහා භාවිතා කළ දේ, එහිදී අපට සියලුම දුරකථන අංක ඕනෑම ආකෘතියකින් දුරකථන: සබැඳි බවට පරිවර්තනය කිරීමට සිදුවිය.

මෙතෙක්, ඔවුන් එය විසි කළ සෑම දෙයක්ම සමඟ කටයුතු කරමින් සිටියි, නමුත් දෝෂ මතු වුවහොත්, මම මෙම පිළිතුර යාවත්කාලීන කරමි.

Regex:

/(\+*\d{1,})*([ |\(])*(\d{3})[^\d]*(\d{3})[^\d]*(\d{4})/

සියලුම දුරකථන අංක ටෙල්: සබැඳි මගින් ප්‍රතිස්ථාපනය කිරීමට PHP ක්‍රියාකාරිත්වය (යමෙකු කුතුහලයෙන් සිටී නම්):

function phoneToTel($number) {
    $return = preg_replace('/(\+*\d{1,})*([ |\(])*(\d{3})[^\d]*(\d{3})[^\d]*(\d{4})/', '<a href="tel:$1$3$4$5">$1 ($3) $4-$5</a>', $number); // includes international
    return $return;
}

මෙම නිත්‍ය ප්‍රකාශනය ගැලපේ +1 1234562222222222222222222222.
වර්ඩා එලෙන්ටරි

ඇයි ආපසු නොඑන්නේ?
thexande

"9999999999999999999999999999999999999" සඳහා ව්‍යාජ ධනාත්මක
බෙන් වීලර්

6

අංකය :: දුරකථන :: එක්සත් ජනපදය සහ රීජෙක්ස්ප් :: පොදු (විශේෂයෙන් Regexp :: Common :: URI :: RFC2806 ) පර්ල් මොඩියුල උදව් විය හැකි බව මම විශ්වාස කරමි .

සංඛ්‍යා වලංගු කිරීමේ අරමුණ පැහැදිලි කිරීම සඳහා ප්‍රශ්නය තව ටිකක් විස්තරාත්මකව සඳහන් කළ යුතුය. උදාහරණයක් ලෙස, 911 යනු එක්සත් ජනපදයේ වලංගු අංකයකි, නමුත් 911x x හි කිසිදු අගයක් සඳහා නොවේ. ඔබ ඇමතීම අවසන් වූ විට දුරකථන සමාගමට ගණනය කළ හැකි වන පරිදි එය සිදු වේ. මෙම ගැටළුව සම්බන්ධයෙන් වෙනස්කම් කිහිපයක් තිබේ. නමුත් ඔබේ රීජෙක්ස් ප්‍රදේශය කේත කොටස පරික්ෂා නොකරයි, එබැවින් එය සැලකිලිමත් වන බවක් නොපෙනේ.

ඊමේල් ලිපින වලංගු කිරීම මෙන්, ඔබට වලංගු ප්‍රති result ලයක් තිබුණත්, එය උත්සාහ කරන තුරු එය යමෙකුට පවරා ඇත්දැයි ඔබට දැනගත නොහැක.

ඔබ පරිශීලක ආදානය වලංගු කිරීමට උත්සාහ කරන්නේ නම්, ප්‍රති result ලය සාමාන්‍යකරණය කර එය සමඟ කළ යුත්තේ ඇයි? පරිශීලකයා ඔබට වලංගු අංකයක් ලෙස හඳුනාගත නොහැකි අංකයක් දැමුවහොත්, එය ආදානය ලෙස සුරකින්න හෝ නොපවතින අක්ෂර ඉවත් කරන්න. මෙම අංකය :: දුරකථන :: යථා තත්වයට perl බසට ලං මොඩියුලය අනුප්රාණය මූලාශ්රයක් විය හැකි.


මම මෙහි අවයවයක් මතට ගොස් 911 දුරකථන අංකයක් ලෙසට ඉඩ දීම මෙම රීජෙක්ස් හි සියලුම යෙදුම්වල නරක අදහසක් විය හැකි යැයි කියමි. හොඳ ඇල්ලීමක්.
නිකලස් ෆ්ලින්ට්

4

මම වෙළඳපල පර්යේෂණ සමාගමක සේවය කරන අතර අපට මේ ආකාරයේ ආදාන සියල්ලම පෙරහන් කළ යුතුය. ඔබ එය ඕනෑවට වඩා සංකීර්ණ කරනවා. අක්ෂර සංඛ්‍යා නොවන අක්ෂර ඉවත් කර දිගුවක් තිබේදැයි බලන්න.

වැඩිදුර විශ්ලේෂණය සඳහා ඔබට වලංගු සංඛ්‍යා දත්ත ගබඩාවකට ප්‍රවේශය ලබා දෙන බොහෝ සැපයුම්කරුවන්ගෙන් කෙනෙකුට දායක විය හැකි අතර ඒවා ලෑන්ඩ්ලයින් හෝ මොබයිල්, විසන්ධි වී ඇත්දැයි ඔබට කියනු ඇත. එයට මුදල් වියදම් වේ.


වලංගු කිරීම? 123% $) *% () $ * () # 456 * () * $ # (* (# $ 90 8908) ඔබේ යෝජිත විසඳුමට
ගැලපේ

1
LexPlexQ 555-123-1234, 07777777777, 90210, 01/01/1901 - වලංගුකරණය හරහා කුණු කසළ ගොඩ නැගීමට පරිශීලකයින් නව නිපැයුම් කරති. අව්‍යාජව යම් යම් අමුතු දත්ත ඇති අය ඕනෑවට වඩා සීමා කළ වලංගු භාවයක් භාවිතා කිරීමෙන් හා ඔවුන් වැරදියි කියා පැවසීමෙන් වැළකී සිටීම හොඳය.
ReactiveRaven

4

අක්ෂර හැඩතල ගැන්වීම වෙනුවට ආදේශ කරන්න, ඉන්පසු දුරකථන වලංගුභාවය සඳහා ඉතිරිය පරීක්ෂා කරන්න. PHP හි,

 $replace = array( ' ', '-', '/', '(', ')', ',', '.' ); //etc; as needed
 preg_match( '/1?[0-9]{10}((ext|x)[0-9]{1,4})?/i', str_replace( $replace, '', $phone_num );

මේ වගේ සංකීර්ණ රීජෙක්ස් එකක් බිඳ දැමීම එතරම්ම effective ලදායී විය හැකි නමුත් වඩා සරල ය.


3

මෙය සිත්ගන්නා සුළු දෙයක් බව මට පෙනී ගියේය. මම එය අත්හදා බලා නැති නමුත් එය ක්‍රියාත්මක වන බවක් පෙනේ

<?php
/*
string validate_telephone_number (string $number, array $formats)
*/

function validate_telephone_number($number, $formats)
{
$format = trim(ereg_replace("[0-9]", "#", $number));

return (in_array($format, $formats)) ? true : false;
}

/* Usage Examples */

// List of possible formats: You can add new formats or modify the existing ones

$formats = array('###-###-####', '####-###-###',
                 '(###) ###-###', '####-####-####',
                 '##-###-####-####', '####-####', '###-###-###',
                 '#####-###-###', '##########');

$number = '08008-555-555';

if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}

echo "<br />";

$number = '123-555-555';

if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}

echo "<br />";

$number = '1800-1234-5678';

if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}

echo "<br />";

$number = '(800) 555-123';

if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}

echo "<br />";

$number = '1234567890';

if(validate_telephone_number($number, $formats))
{
echo $number.' is a valid phone number.';
}
?>

4
ඔබ මෙම කේතය ලියා නැති බව ඔබගේ පණිවිඩයෙන් පෙනේ. කරුණාකර මූලාශ්‍රයක් උපුටා දැක්වීමට ඔබ කැමතිද?
ඇලෙස්ටෙයාර් ඉර්වින්


3

මේ සඳහා වෙස්මුහුණු ආදානයක් භාවිතා කිරීම වඩා හොඳ වනු ඇත. එමඟින් පරිශීලකයින්ට පමණක් අංක ඇතුළත් කළ හැකි අතර ඔබට සුදුසු යැයි පෙනුනද ඔබට ආකෘතිකරණය කළ හැකිය. මෙය වෙබ් යෙදුමක් සඳහා දැයි මට විශ්වාස නැත, නමුත් එය තිබේ නම් ඉතා ක්ලික් කරන්න jQuery ප්ලගිනයක් තිබේ නම් මෙය සිදු කිරීම සඳහා විකල්ප කිහිපයක් ඉදිරිපත් කරයි.

http://digitalbush.com/projects/masked-input-plugin/

ඔවුන්ගේ නිබන්ධනයේ දුරකථන අංක යෙදවුම් ආවරණය කරන්නේ කෙසේද යන්න ගැන පවා ඔවුහු කියති.


3

ජාවාස්ක්‍රිප්ට් හි හොඳින් ක්‍රියාත්මක වන එකක් මෙන්න. ඩොජෝ විජට් බලාපොරොත්තු වූයේ එයයි.

එය විකල්ප දිගුවක් සහිත ඉලක්කම් 10 කින් යුත් උතුරු ඇමරිකාවේ NANP අංකයකට ගැලපේ. අවකාශ, ඉර සහ කාලයන් පිළිගත් පරිසීමක වේ.

"^(\\(?\\d\\d\\d\\)?)( |-|\\.)?\\d\\d\\d( |-|\\.)?\\d{4,4}(( |-|\\.)?[ext\\.]+ ?\\d+)?$"

3

මම එකම ගැටලුව සමඟ පොරබදමින්, මගේ අයදුම්පත අනාගත සාක්‍ෂි බවට පත් කිරීමට උත්සාහ කළෙමි, නමුත් මේ අය මාව නිවැරදි දිශාවට ගෙන ගියහ. මම ඇත්ත වශයෙන්ම එම අංකය ක්‍රියා කරන්නේද නැද්ද යන්න පරීක්ෂා කර බලන්නේ නැත, මම උත්සාහ කරන්නේ දිගුවක් හෝ නැති විය හැකි සංඛ්‍යා මාලාවක් ඇතුළත් කර ඇති බව තහවුරු කර ගැනීමටය.

නරකම අවස්ථාව නම්, පරිශීලකයාට එක්ස්එම්එල් ගොනුවෙන් ආකෘතිගත 012345678x5නොකළ අංකයක් අදින්නට සිදුවුවහොත් , ඔවුන් තවමත් දුරකථනයේ අංක පෑඩයට අංක ටයිප් කරනු ඇත, එය ලස්සනට තබා ගැනීමට සැබෑ හේතුවක් නැත. ඒ වගේ රෙජෙක්ස් මට මේ වගේ දෙයක් එළියට එයි:

\d+ ?\w{0,9} ?\d+
  • 01234467 extension 123456
  • 01234567x123456
  • 01234567890

2

මගේ නැඹුරුව වන්නේ ඉලක්කම් නොවන දේ ඉවත් කිරීම සහ එහි ඇති දේ පිළිගැනීම හොඳම දෙයයි. නිදසුනක් ලෙස "ASK-JAKE" අකාරාදී දුරකථන අංකයක් වැනි දෙයක් තහනම් කළද, අවම වශයෙන් ඉලක්කම් කිහිපයක් වත් ඇති බව සහතික කිරීම.

සරල පර්ල් ප්‍රකාශන කිහිපයක් විය හැකිය:

@f = /(\d+)/g;
tr/0-9//dc;

හැඩතල ගැන්වීමේ ඉඟි ලබා දිය හැකි ඉලක්කම් කණ්ඩායම් එකට තබා ගැනීමට පළමු එක භාවිතා කරන්න. සියලු ඉලක්කම් නොවන සුළු දේවල් විසි කිරීමට දෙවැන්න භාවිතා කරන්න.

විරාමයක් තිබිය යුතු අතර තවත් යතුරු ඇතුළත් කළ යුතුද යන්න කනස්සල්ලට කරුණක්ද? නැත්නම් 555-1212 (බීප් එක එනතෙක් ඉන්න) 123 වැනි දෙයක්?


2
    pattern="^[\d|\+|\(]+[\)|\d|\s|-]*[\d]$" 
    validateat="onsubmit"

ඉලක්කම් වලින් අවසන් විය යුතුය, (හෝ + හෝ ඉලක්කම් වලින් ආරම්භ විය හැකි අතර + - (හෝ) අඩංගු විය හැකිය


2

අයර්ලන්ත ජංගම දුරකථන අංක සමඟ සමාන දෙයක් කිරීමට කැමති ඕනෑම කෙනෙකුට, එය ඉටු කර ගත හැකි සරල ක්‍රමයක් මෙන්න:

http://ilovenicii.com/?p=87

PHP


<?php
$pattern = "/^(083|086|085|086|087)\d{7}$/";
$phone = "087343266";

if (preg_match($pattern,$phone)) echo "Match";
else echo "Not match";

එම සබැඳියේ JQuery විසඳුමක් ද ඇත.

සංස්කරණය කරන්න:

jQuery විසඳුම:

    $(function(){
    //original field values
    var field_values = {
            //id        :  value
            'url'       : 'url',
            'yourname'  : 'yourname',
            'email'     : 'email',
            'phone'     : 'phone'
    };

        var url =$("input#url").val();
        var yourname =$("input#yourname").val();
        var email =$("input#email").val();
        var phone =$("input#phone").val();


    //inputfocus
    $('input#url').inputfocus({ value: field_values['url'] });
    $('input#yourname').inputfocus({ value: field_values['yourname'] });
    $('input#email').inputfocus({ value: field_values['email'] }); 
    $('input#phone').inputfocus({ value: field_values['phone'] });



    //reset progress bar
    $('#progress').css('width','0');
    $('#progress_text').html('0% Complete');

    //first_step
    $('form').submit(function(){ return false; });
    $('#submit_first').click(function(){
        //remove classes
        $('#first_step input').removeClass('error').removeClass('valid');

        //ckeck if inputs aren't empty
        var fields = $('#first_step input[type=text]');
        var error = 0;
        fields.each(function(){
            var value = $(this).val();
            if( value.length<12 || value==field_values[$(this).attr('id')] ) {
                $(this).addClass('error');
                $(this).effect("shake", { times:3 }, 50);

                error++;
            } else {
                $(this).addClass('valid');
            }
        });        

        if(!error) {
            if( $('#password').val() != $('#cpassword').val() ) {
                    $('#first_step input[type=password]').each(function(){
                        $(this).removeClass('valid').addClass('error');
                        $(this).effect("shake", { times:3 }, 50);
                    });

                    return false;
            } else {   
                //update progress bar
                $('#progress_text').html('33% Complete');
                $('#progress').css('width','113px');

                //slide steps
                $('#first_step').slideUp();
                $('#second_step').slideDown();     
            }               
        } else return false;
    });

    //second section
    $('#submit_second').click(function(){
        //remove classes
        $('#second_step input').removeClass('error').removeClass('valid');

        var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;  
        var fields = $('#second_step input[type=text]');
        var error = 0;
        fields.each(function(){
            var value = $(this).val();
            if( value.length<1 || value==field_values[$(this).attr('id')] || ( $(this).attr('id')=='email' && !emailPattern.test(value) ) ) {
                $(this).addClass('error');
                $(this).effect("shake", { times:3 }, 50);

                error++;
            } else {
                $(this).addClass('valid');
            }


        function validatePhone(phone) {
        var a = document.getElementById(phone).value;
        var filter = /^[0-9-+]+$/;
            if (filter.test(a)) {
                return true;
            }
            else {
                return false;
            }
        }

        $('#phone').blur(function(e) {
            if (validatePhone('txtPhone')) {
                $('#spnPhoneStatus').html('Valid');
                $('#spnPhoneStatus').css('color', 'green');
            }
            else {
                $('#spnPhoneStatus').html('Invalid');
            $('#spnPhoneStatus').css('color', 'red');
            }
        });

     });

        if(!error) {
                //update progress bar
                $('#progress_text').html('66% Complete');
                $('#progress').css('width','226px');

                //slide steps
                $('#second_step').slideUp();
                $('#fourth_step').slideDown();     
        } else return false;

    });


    $('#submit_second').click(function(){
        //update progress bar
        $('#progress_text').html('100% Complete');
        $('#progress').css('width','339px');

        //prepare the fourth step
        var fields = new Array(
            $('#url').val(),
            $('#yourname').val(),
            $('#email').val(),
            $('#phone').val()

        );
        var tr = $('#fourth_step tr');
        tr.each(function(){
            //alert( fields[$(this).index()] )
            $(this).children('td:nth-child(2)').html(fields[$(this).index()]);
        });

        //slide steps
        $('#third_step').slideUp();
        $('#fourth_step').slideDown();            
    });


    $('#submit_fourth').click(function(){

        url =$("input#url").val();
        yourname =$("input#yourname").val();
        email =$("input#email").val();
        phone =$("input#phone").val();

        //send information to server
        var dataString = 'url='+ url + '&yourname=' + yourname + '&email=' + email + '&phone=' + phone;  



        alert (dataString);//return false;  
            $.ajax({  
                type: "POST",  
                url: "http://clients.socialnetworkingsolutions.com/infobox/contact/",  
                data: "url="+url+"&yourname="+yourname+"&email="+email+'&phone=' + phone,
                cache: false,
                success: function(data) {  
                    console.log("form submitted");
                    alert("success");
                }
                });  
        return false;

   });


    //back button
    $('.back').click(function(){
        var container = $(this).parent('div'),
        previous  = container.prev();

        switch(previous.attr('id')) {
            case 'first_step' : $('#progress_text').html('0% Complete');
                  $('#progress').css('width','0px');
                       break;
            case 'second_step': $('#progress_text').html('33% Complete');
                  $('#progress').css('width','113px');
                       break;

            case 'third_step' : $('#progress_text').html('66% Complete');
                  $('#progress').css('width','226px');
                       break;

        default: break;
    }

    $(container).slideUp();
    $(previous).slideDown();
});


});

මූලාශ්රය .

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.