JSFiddle - React, Tailwind, and code Playground

JavaScript

function issq(r)
{
    p=r|0;
    q=Math.floor(Math.sqrt(p));
    return q&&q*q==p;
}

function sndd(n)
{
    c=0;
    s=""+n;
    for(i=0;i<s.length;i++)
        for(j=i+1;j<=s.length;j++)
            if(issq(t=s.substring(i,j))&&t[0]!='0')
                c++;
    return c/s.length;
}

function snddr(a,b)
{
    d=m=0;
    for(g=a;g<=b;g++)
        if((t=sndd(g))>d)
            d=t,m=g;
    return m;
}

w=function(x){document.writeln(x);};
w('<pre>');

a=14000;
b=15000;
z=snddr(a,b);
w(z + ": " + sndd(z));

a=300;
b=500;
z=snddr(a,b);
w(z + ": " + sndd(z));

w('</pre>');