<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://wuff.dyndns.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wuff.dyndns.org/feed.php">
        <title>Wulf&#039;s Various Things - javascript</title>
        <description></description>
        <link>http://wuff.dyndns.org/</link>
        <image rdf:resource="http://wuff.dyndns.org/lib/exe/fetch.php?media=logo.png" />
       <dc:date>2026-04-27T20:10:09+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:autogrow-textarea&amp;rev=1685357733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:csv-string-to-array&amp;rev=1754306613&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:jquery-ratings&amp;rev=1685357733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:select-all-js&amp;rev=1685357733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:start&amp;rev=1685357733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:text-diff&amp;rev=1685357733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:upload-file-size&amp;rev=1685357733&amp;do=diff"/>
                <rdf:li rdf:resource="http://wuff.dyndns.org/doku.php?id=javascript:validate-phonenumbers&amp;rev=1685357733&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wuff.dyndns.org/lib/exe/fetch.php?media=logo.png">
        <title>Wulf's Various Things</title>
        <link>http://wuff.dyndns.org/</link>
        <url>http://wuff.dyndns.org/lib/exe/fetch.php?media=logo.png</url>
    </image>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:autogrow-textarea&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title></title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:autogrow-textarea&amp;rev=1685357733&amp;do=diff</link>
        <description>&lt;https://raw.githubusercontent.com/jaz303/jquery-grab-bag/master/javascripts/jquery.autogrow-textarea.js&gt;


(function($)
{
    /**
     * Auto-growing textareas; technique ripped from Facebook
     * 
     * 
     * http://github.com/jaz303/jquery-grab-bag/tree/master/javascripts/jquery.autogrow-textarea.js
     */
    $.fn.autogrow = function(options)
    {
        return this.filter(&#039;textarea&#039;).each(function()
        {
            var self         = this;
            var $self        = $(self…</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:csv-string-to-array&amp;rev=1754306613&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2025-08-04T11:23:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CSV String to Array</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:csv-string-to-array&amp;rev=1754306613&amp;do=diff</link>
        <description>CSV String to Array

&lt;https://gist.github.com/Jezternz/c8e9fafc2c114e079829974e3764db75&gt;


const csvStringToArray = (data) =&gt; {
  const re = /(,|\r?\n|\r|^)(?:&quot;([^&quot;]*(?:&quot;&quot;[^&quot;]*)*)&quot;|([^,\r\n]*))/gi
  const result = [[]]
  let matches
  while ((matches = re.exec(data))) {
    if (matches[1].length &amp;&amp; matches[1] !== &#039;,&#039;) result.push([])
    result[result.length - 1].push(
      matches[2] !== undefined ? matches[2].replace(/&quot;&quot;/g, &#039;&quot;&#039;) : matches[3]
    )
  }
  return result
}</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:jquery-ratings&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>jquery ratings bar</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:jquery-ratings&amp;rev=1685357733&amp;do=diff</link>
        <description>jquery ratings bar

&lt;https://antennaio.github.io/jquery-bar-rating/&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:select-all-js&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Select All js</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:select-all-js&amp;rev=1685357733&amp;do=diff</link>
        <description>Select All js


&lt;SCRIPT type=&quot;text/javascript&quot;&gt;
function markall(id)
{id=document.getElementById(id); var i=0; while(id.elements[i]){ if(id.elements[i].type == &quot;checkbox&quot;) {id.elements[i].checked=1;} i++;}}
        
function unmarkall(id)
{id=document.getElementById(id); var j=0; while(id.elements[j]){ if(id.elements[j].type == &quot;checkbox&quot;) {id.elements[j].checked=0;} j++;}}
            
function invert(id)
{id=document.getElementById(id); var k=0; while(id.elements[k]){if(id.elements[k].checked …</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:start&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:start&amp;rev=1685357733&amp;do=diff</link>
        <description>Javascript</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:text-diff&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Text Diff</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:text-diff&amp;rev=1685357733&amp;do=diff</link>
        <description>Text Diff

&lt;https://www.jqueryscript.net/text/compare-text-difference.html&gt;
&lt;https://www.jqueryscript.net/text/jQuery-Plugin-To-Find-The-Difference-Between-Two-Texts-picadiff.html&gt;
&lt;https://github.com/google/diff-match-patch&gt;
&lt;https://neil.fraser.name/software/diff_match_patch/demos/diff.html&gt;
&lt;https://jquery-plugins.net/jsdiff-javascript-text-differencing-implementation&gt;
&lt;http://incaseofstairs.com/jsdiff/&gt;
&lt;https://github.com/arnab/jQuery.PrettyTextDiff&gt;
&lt;http://jsfiddle.net/q7hyfev8/504/&gt;</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:upload-file-size&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Upload file size</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:upload-file-size&amp;rev=1685357733&amp;do=diff</link>
        <description>Upload file size

Native Javascript approach:


&lt;!DOCTYPE html&gt; 
&lt;html&gt; 
&lt;head&gt; 
    &lt;title&gt;File Validation-1&lt;/title&gt; 
&lt;/head&gt; 
&lt;body&gt; 
    &lt;p&gt; 
        &lt;input type=&quot;file&quot; id=&quot;file&quot; onchange=&quot;Filevalidation()&quot; /&gt; 
    &lt;/p&gt; 
    &lt;p id=&quot;size&quot;&gt;&lt;/p&gt; 
&lt;/body&gt; 

&lt;script&gt; 
Filevalidation = () =&gt; { 
    const fi = document.getElementById(&#039;file&#039;); 
    // Check if any file is selected. 
    if (fi.files.length &gt; 0) { 
        for (const i = 0; i &lt;= fi.files.length - 1; i++) { 
            const fsize = f…</description>
    </item>
    <item rdf:about="http://wuff.dyndns.org/doku.php?id=javascript:validate-phonenumbers&amp;rev=1685357733&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-29T10:55:33+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Validate Phonenumbers</title>
        <link>http://wuff.dyndns.org/doku.php?id=javascript:validate-phonenumbers&amp;rev=1685357733&amp;do=diff</link>
        <description>Validate Phonenumbers

&lt;https://www.npmjs.com/package/libphonenumber-js&gt;

Demo:
&lt;https://catamphetamine.gitlab.io/libphonenumber-js/&gt;

Gitlab:
&lt;https://gitlab.com/catamphetamine/libphonenumber-js&gt;

Example:


&lt;html&gt;
    &lt;head&gt;
        &lt;title&gt;libphonenumber-js&lt;/title&gt;
        &lt;meta charset=&quot;UTF-8&quot;&gt;

        &lt;!--        &lt;script src=&quot;https://unpkg.com/libphonenumber-js@[version]/bundle/libphonenumber-[type].js&quot;&gt;&lt;/script&gt; --&gt;
        &lt;script src=&quot;https://unpkg.com/libphonenumber-js@1.x/bundle/libpho…</description>
    </item>
</rdf:RDF>
