"इस मॉड्यूल हेतु प्रलेख Module:LinkPhone/doc पर बनाया जा सकता है"

local i = {} function i.LinkOnePhone(txt, demo, fax, tollfree)    local link = txt;    local othertxt = "";    local catprefix = '';    local catMissingCountryCode = '';    local catFormatIssue = '';    local output;    if demo == 'true' then    catprefix = ':';    end    -- any other text in brackets at the end is stored separately and ignored for the dialing number    if mw.ustring.gsub(txt, "(.*)( %(.*%))$", "%2") ~= txt then        othertxt = mw.ustring.gsub(txt, "(.*)( %(.*%))$", "%2");        txt = mw.ustring.gsub(txt, "(.*)( %(.*%))$", "%1");    end    -- Don't include "ext NNNN" in the link    link = mw.ustring.gsub(txt, " +[Ee][Xx][Tt] +%d+$", "");    -- Don't include " xNNNN" in the link    link = mw.ustring.gsub(link, " +x%d+$", "");    link = mw.ustring.gsub(link, " ", "");    link = mw.ustring.gsub(link, "'", "");    if link == "" then        return "";    end    if mw.ustring.sub(link, 1, 1) ~= '+' and mw.ustring.len(link) > 4 then    catMissingCountryCode = '[[' .. catprefix .. 'Category:Listing with phone missing country code]]<span class="phoneinfo" style="display:none;" title="Phone number does not have country code">NOCC</span>';        if tollfree == 'yes' and mw.ustring.sub(link, 1, 3) == '800' then           catMissingCountryCode = '';        end        if tollfree == 'yes' and mw.ustring.sub(link, 1, 4) == '0508' then           catMissingCountryCode = '';        end        if tollfree == 'yes' and mw.ustring.sub(link, 1, 4) == '0800' then           catMissingCountryCode = '';        end        if tollfree == 'yes' and mw.ustring.sub(link, 1, 4) == '1300' then           catMissingCountryCode = '';        end        if tollfree == 'yes' and mw.ustring.sub(link, 1, 4) == '1800' then           catMissingCountryCode = '';        end        if tollfree == 'yes' and mw.ustring.sub(link, 1, 5) == '01800' then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"high cost") ~= nil then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"extra charge") ~= nil then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"premium") ~= nil then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"local rate") ~= nil then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"in country only") ~= nil then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"domestic") ~= nil then           catMissingCountryCode = '';        end        if mw.ustring.match(mw.ustring.lower(othertxt),"non%-geographic number") ~= nil then           catMissingCountryCode = '';        end    end    if mw.ustring.match(link,"^%+[%d-() ]+$") ~= nil thenoutput = '<span class="plainlinks nourlexpansion">';if fax == 'true' thenoutput = output .. txt .. '</span>' .. othertxt;elseoutput = output .. '[tel:' .. link .. ' ' .. txt .. ']</span>' .. othertxt;end    elseif mw.ustring.match(link,"^%+[%d%u- ]+$") ~= nil then        local extra = mw.ustring.match(link, "%u[%d%u- ]+")        link = mw.ustring.gsub(link, "[A-C]", "2");        link = mw.ustring.gsub(link, "[D-F]", "3");        link = mw.ustring.gsub(link, "[G-I]", "4");        link = mw.ustring.gsub(link, "[J-L]", "5");        link = mw.ustring.gsub(link, "[M-O]", "6");        link = mw.ustring.gsub(link, "[P-S]", "7");        link = mw.ustring.gsub(link, "[T-V]", "8");        link = mw.ustring.gsub(link, "[W-Z]", "9");        extra = mw.ustring.gsub(extra, "[A-C]", "2");        extra = mw.ustring.gsub(extra, "[D-F]", "3");        extra = mw.ustring.gsub(extra, "[G-I]", "4");        extra = mw.ustring.gsub(extra, "[J-L]", "5");        extra = mw.ustring.gsub(extra, "[M-O]", "6");        extra = mw.ustring.gsub(extra, "[P-S]", "7");        extra = mw.ustring.gsub(extra, "[T-V]", "8");        extra = mw.ustring.gsub(extra, "[W-Z]", "9");output = '<span class="plainlinks nourlexpansion">';if fax == 'true' thenoutput = output .. txt .. ' (' .. extra .. ')' .. '</span>' .. othertxt;elseoutput = output .. '[tel:' .. link .. ' ' .. txt .. ' (' .. extra .. ')' .. ']</span>' .. othertxt;end    else        output = txt .. othertxt;        if mw.ustring.match('+' .. link,"^%+[%d-() ]+$") == nil then            catFormatIssue = '[[' .. catprefix .. 'Category:Listing with phone format issue]]<span class="phoneinfo" style="display:none;" title="Phone number has formatting issue">FORMAT</span>';        end    end    if mw.ustring.match(link,"%(0%)") ~= nil then        catFormatIssue = '[[' .. catprefix .. 'Category:Listing with phone format issue]]<span class="phoneinfo" style="display:none;" title="Phone number has formatting issue">FORMAT</span>';    end    if mw.title.getCurrentTitle().namespace == 0 or demo == 'true' then        output = output .. catFormatIssue .. catMissingCountryCode;    end    return output;endfunction i.LinkPhone(frame)    local demo = frame.args["demo"] or '';local fax = frame.args["fax"] or '';    local txtall = frame.args[1] or '' .. ',';    local tollfree = frame.args["tollfree"] or '';    local txt = "";    local result = "";    local catprefix = '';    -- replace or / and with comma    txtall = mw.ustring.gsub(txtall, " or %+", ", +");    txtall = mw.ustring.gsub(txtall, " and %+", ", +");    for txt in mw.ustring.gmatch(txtall, "([^,]+)") do        result = result .. ", " .. i.LinkOnePhone(txt, demo, fax, tollfree)    end    result = mw.ustring.sub(result, 3, mw.ustring.len(result) );    return result;end return i;
🔥 Popular: इस्लाममुखपृष्ठनैनीतालसंयुक्त राज्य अमेरिकाचित्र:Map of India hi.svgइंडोनेशियाचित्र:Odisha-map.jpgकोलकाताओडिशासदस्य वार्ता:Innocentbunnyचीनअहमदाबादमालदीवगोवापंजाबबिहारऑस्ट्रेलियाइजराइलहिन्द महासागरथाईलैंडपश्चिम बंगालबांग्लादेशयमनयूरोपचित्र:Indian Rupee symbol.svgगुजरातसदस्य वार्ता:J ansariएशियाइराककुशीनगरपुणेदिल्लीचित्र:Japan regions map (hi).pngपूर्व एशियामोरक्कोजापानसूडानवाराणसीश्रीलंकासदस्य वार्ता:सप्रयागराजसारनाथलीबियामध्य पूर्वसदस्य वार्ता:RolandUngerमहाराष्ट्रविशेष:खोजकरबलाचंद्रतालयुद्ध क्षेत्र सुरक्षाझाँसीआगराअलीगढ़सासारामसदस्य वार्ता:SM7भारतजैसलमेरकाशीपुरविकियात्रा:सहायताविशेष:RecentChangesचित्र:Anand Bhawan, Allahabad.jpgकानपुरविष्णुपुरलेबनानमथुराउत्तर कोरियादुबईविकियात्रा:चौपालनॉर्डिक देशविकियात्रा:शब्दावलीमस्जिदनेपालचित्र:Lebanon region map.pngविकियात्रा:साधारण अस्वीकरणश्रेणी:सभी गंतव्य लेखश्रेणी:दक्षिणपूर्व एशियाविकियात्रा:समाज मुखपृष्ठऋषिकेशचित्र:Buddha Mahabodhi temple.JPG