<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_Tutorial%2FRegular_Expressions%2FCredit_Card</id>
		<title>JavaScript Tutorial/Regular Expressions/Credit Card - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_Tutorial%2FRegular_Expressions%2FCredit_Card"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_Tutorial/Regular_Expressions/Credit_Card&amp;action=history"/>
		<updated>2026-04-04T15:30:43Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_Tutorial/Regular_Expressions/Credit_Card&amp;diff=9869&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_Tutorial/Regular_Expressions/Credit_Card&amp;diff=9869&amp;oldid=prev"/>
				<updated>2010-05-26T08:25:31Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 08:25, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_Tutorial/Regular_Expressions/Credit_Card&amp;diff=9868&amp;oldid=prev</id>
		<title> в 18:52, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_Tutorial/Regular_Expressions/Credit_Card&amp;diff=9868&amp;oldid=prev"/>
				<updated>2010-05-25T18:52:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Matching a 16 digit credit card number separated by a single space==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Matching a 16 digit credit card number separated by a single space&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- //&lt;br /&gt;
function IsMatchingCard(str){&lt;br /&gt;
   var myRegExp =  /[0-9]{4} [0-9]{4} [0-9]{4} [0-9]{4}/;&lt;br /&gt;
   return myRegExp.test(str)&lt;br /&gt;
}&lt;br /&gt;
function TestGuess(){&lt;br /&gt;
alert(IsMatchingCard(&amp;quot;1234 1234 1234 1234&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;This page allows you to enter and check a 16 digit credit card number&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
&amp;lt;button type=&amp;quot;Button&amp;quot; onclick=&amp;quot;TestGuess()&amp;quot;&amp;gt;&lt;br /&gt;
Click here to enter card number&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Matching a 16 digit credit card number with variable number of space characters==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Matching a 16 digit credit card number&lt;br /&gt;
 with variable number of space characters&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- //&lt;br /&gt;
function IsMatchingCard(str){&lt;br /&gt;
    var myRegExp =  /[0-9]{4} {0,1}[0-9]{4} {0,1}[0-9]{4} {0,1}[0-9]{4}/;&lt;br /&gt;
    return myRegExp.test(str)&lt;br /&gt;
}&lt;br /&gt;
function TestGuess(){&lt;br /&gt;
alert(IsMatchingCard(&amp;quot;1234 1234 1234 1234&amp;quot;));&lt;br /&gt;
}&lt;br /&gt;
// --&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;This page allows you to enter and check a 16 digit credit card number&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
&amp;lt;button type=&amp;quot;Button&amp;quot; onclick=&amp;quot;TestGuess()&amp;quot;&amp;gt;Click here to enter card&lt;br /&gt;
number&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Validate MasterCard==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;MasterCard Example&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
                function luhnCheckSum(sCardNum) {&lt;br /&gt;
                    var iOddSum = 0;&lt;br /&gt;
                    var iEvenSum = 0;&lt;br /&gt;
                    var bIsOdd = true;&lt;br /&gt;
                    for (var i=sCardNum.length-1; i &amp;gt;= 0; i--) {&lt;br /&gt;
                        var iNum = parseInt(sCardNum.charAt(i));&lt;br /&gt;
                        if (bIsOdd) {&lt;br /&gt;
                            iOddSum += iNum;&lt;br /&gt;
                        } else {&lt;br /&gt;
                            iNum = iNum * 2;&lt;br /&gt;
                            if (iNum &amp;gt; 9) {&lt;br /&gt;
                                iNum = eval(iNum.toString().split(&amp;quot;&amp;quot;).join(&amp;quot;+&amp;quot;));&lt;br /&gt;
                            }&lt;br /&gt;
                            iEvenSum += iNum;&lt;br /&gt;
                        }&lt;br /&gt;
                        bIsOdd = !bIsOdd;&lt;br /&gt;
                    }&lt;br /&gt;
                    return ((iEvenSum + iOddSum) % 10 == 0);&lt;br /&gt;
                }&lt;br /&gt;
                function isValidMasterCard(sText) {&lt;br /&gt;
                    var reMasterCard = /^(5[1-5]\d{2})[\s\-]?(\d{4})[\s\-]?(\d{4})[\s\-]?(\d{4})$/;&lt;br /&gt;
                    if (reMasterCard.test(sText)) {&lt;br /&gt;
                        var sCardNum = RegExp.$1 + RegExp.$2 + RegExp.$3 + RegExp.$4;&lt;br /&gt;
                        return luhnCheckSum(sCardNum);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                function validate() {&lt;br /&gt;
                    var oInput1 = document.getElementById(&amp;quot;txt1&amp;quot;);&lt;br /&gt;
                    if (isValidMasterCard(oInput1.value)) {&lt;br /&gt;
                        alert(&amp;quot;Valid&amp;quot;);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        alert(&amp;quot;Invalid!&amp;quot;);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
        &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;P&amp;gt;MasterCard Number: &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;txt1&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Validate&amp;quot; onclick=&amp;quot;validate()&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
Quote from:&lt;br /&gt;
Professional JavaScript for Web Developers&lt;br /&gt;
by Nicholas C. Zakas (Author)&lt;br /&gt;
# Paperback: 672 pages&lt;br /&gt;
# Publisher: Wrox (April 22, 2005)&lt;br /&gt;
# Language: English&lt;br /&gt;
# ISBN-10: 0764579088&lt;br /&gt;
# ISBN-13: 978-0764579080&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Validate Visa number==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Visa Example&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
                function luhnCheckSum(sCardNum) {&lt;br /&gt;
                    var iOddSum = 0;&lt;br /&gt;
                    var iEvenSum = 0;&lt;br /&gt;
                    var bIsOdd = true;&lt;br /&gt;
                    for (var i=sCardNum.length-1; i &amp;gt;= 0; i--) {&lt;br /&gt;
                        var iNum = parseInt(sCardNum.charAt(i));&lt;br /&gt;
                        if (bIsOdd) {&lt;br /&gt;
                            iOddSum += iNum;&lt;br /&gt;
                        } else {&lt;br /&gt;
                            iNum = iNum * 2;&lt;br /&gt;
                            if (iNum &amp;gt; 9) {&lt;br /&gt;
                                iNum = eval(iNum.toString().split(&amp;quot;&amp;quot;).join(&amp;quot;+&amp;quot;));&lt;br /&gt;
                            }&lt;br /&gt;
                            iEvenSum += iNum;&lt;br /&gt;
                        }&lt;br /&gt;
                        bIsOdd = !bIsOdd;&lt;br /&gt;
                    }&lt;br /&gt;
                    return ((iEvenSum + iOddSum) % 10 == 0);&lt;br /&gt;
                }&lt;br /&gt;
                function isValidVisa(sText) {&lt;br /&gt;
                    var reVisa = /^(4\d{12}(?:\d{3})?)$/;&lt;br /&gt;
                    if (reVisa.test(sText)) {&lt;br /&gt;
                        return luhnCheckSum(RegExp.$1);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        return false;&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                function validate() {&lt;br /&gt;
                    var oInput1 = document.getElementById(&amp;quot;txt1&amp;quot;);&lt;br /&gt;
                    if (isValidVisa(oInput1.value)) {&lt;br /&gt;
                        alert(&amp;quot;Valid&amp;quot;);&lt;br /&gt;
                    } else {&lt;br /&gt;
                        alert(&amp;quot;Invalid!&amp;quot;);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
        &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;P&amp;gt;Visa Number: &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;txt1&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Validate&amp;quot; onclick=&amp;quot;validate()&amp;quot; /&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
Quote from:&lt;br /&gt;
Professional JavaScript for Web Developers&lt;br /&gt;
by Nicholas C. Zakas (Author)&lt;br /&gt;
# Paperback: 672 pages&lt;br /&gt;
# Publisher: Wrox (April 22, 2005)&lt;br /&gt;
# Language: English&lt;br /&gt;
# ISBN-10: 0764579088&lt;br /&gt;
# ISBN-13: 978-0764579080&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>