/    Sign up×
Community /Pin to ProfileBookmark

Counting number of dots in email to validate email address

Hi all,

I am having a problem with validating email addresses when counting the dots in the email address.

Have tried the following:

[code=php]} else if ((digit) == ‘.’) { [/code]
[code=php]} else if ((digit) == ‘.’) { [/code]
[code=php]} else if ((digit) == ‘\.’) { [/code]
[code=php]} else if ((digit) == “.”) { [/code]
[code=php]} else if ((digit) == “.”) { [/code]
[code=php]} else if ((digit) == “\.”) { [/code]

It does not even look at it because it thinks I want to use the dot as an argument and not literally

can someone please help me here? thanks

Thanks in advance!!

to post a comment
PHP

30 Comments(s)

Copy linkTweet thisAlerts:
@NogDogMar 03.2005 — Ummmm....what is "digit"? Should it have a "$" in front of it (as a variable)?
Copy linkTweet thisAlerts:
@smercerauthorMar 03.2005 — Thanks nogdog,

I had only just converted it from Javascript and was working in javascript.

after puting in the dollar signs of the variables that I missed it still is not working.

site: www.macleaybec.com.au

If you want to see it in action goto contact us page, enter your email address and click send. I have disabled javascript on the send button so you can click on it.
Copy linkTweet thisAlerts:
@NogDogMar 03.2005 — Could you show us some more of the PHP code around this section so we have a better idea what you are trying to do? Maybe it's not the comparison, but something before it that's leading you astray.
Copy linkTweet thisAlerts:
@smercerauthorMar 03.2005 — [code=php]
<?php
$invalidItems = false;

$emailLength = strlen($email);
$emailLastdot = $emailLength - 3;
$digitNo = 0;

$dot = 0;
$at = 0;
$validEmail = true;
while (($digitNo) <= ($emailLength)) {
$digit = substr($email, $digitNo, 1);
if (empty($email)) {
echo '<br />You forgot to fill in Your Email<br />';
echo '<b><font color=red>Email:</font></b> <input name="email"><br />';
} else if (($digit) == "@") {
$at= $at + 1;
} else if (($digit) == '.') {
echo "the dot is at: $digitNo<br />";
$dot = $dot + 1;
} else if (($digit) == "@" && ($digitNo) > ($emailLastdot)) {
$validEmail = false;
break;
} else if (($digit) == "." && ($digitNo) > ($emailLastdot)) {
$validEmail = false;
break;
} else if (($digitNo) > ($emailLastdot) && ($at) != 1) {
$validEmail = false;
break;
} else if (($digitNo) > ($emailLastdot) && ($dot) < 1 || ($dot) > 2 ) {
$validEmail = false;
break;
} else if (($digit) == "@" || ($digit) == "." && ($digitNo) == 0 ) {
$validEmail = false;
break;
} else if (($digit) == "." && ($at) == 0) {
$validEmail = false;
break;

}

echo $digit;

$digitNo = $digitNo + 1;
}
echo "The email length is: $emailLength<br />";
echo "The last dot should be at: $emailLastdot<br />";
echo "there are $dot dots";
if (($validEmail) == false && ($emailLength) != 0 ) {
echo '<br />The email you have entered is not valid<br />';
echo "<b><font color=red>Email:</font></b> <input name="email" value="$email"><br /><br />";
$invalidItems = true;
} else {
echo "<b>Email:</b> $email<br />";
}
[/code]


Thanks for your help and quick replies

I have put in the last bit so I could diagnose what is happening.
Copy linkTweet thisAlerts:
@NogDogMar 03.2005 — By the way, if you truly are just interested in counting '.' characters within a string, you could just do:
[code=php]
$numberDots = preg_match_all("/\./", $emailAddress, $searchResults);
[/code]
Copy linkTweet thisAlerts:
@smercerauthorMar 03.2005 — Its not just counting the dots, It's about geting the exact location in the email, so that the email does not end with a dot, start with a dot and have more than 2 dots and that there are no dots before the @ symbol.

Thanks for helping.
Copy linkTweet thisAlerts:
@NogDogMar 03.2005 — I think you may need to rewrite your comparison expressions without the () around variables:
[code=php]
# this:
if ($digit == "." && $digitNo > $emailLastdot)
# instead of this:
if (($digit) == "." && ($digitNo) > ($emailLastdot))
[/code]

What I think is happening is that the parser evaluates "($digit)" first, and comes up with either TRUE if value is non-zero or FALSE if it's zero, then compares [i]that Boolean value[/i] to ".", [i]not[/i] the value of $digit.
Copy linkTweet thisAlerts:
@smercerauthorMar 03.2005 — code looks like this:
[code=php]if (empty($email)) {
echo '<br />You forgot to fill in Your Email<br />';
echo '<b><font color=red>Email:</font></b> <input name="email"><br />';
} else if (($digit) == "@") {
$at= $at + 1;
} else if (($digit) == ".") {
echo "the dot is at: $digitNo<br />";
$dot = $dot + 1;
} else if (($digit) == "@" && ($digitNo) > ($emailLastdot)) {
$validEmail = false;
break;
} else if (($digit) == "\." && $digitNo > $emailLastdot) {
$validEmail = false;
break;
} else if (($digitNo) > ($emailLastdot) && ($at) != 1) {
$validEmail = false;
break;
} else if (($digitNo) > ($emailLastdot) && ($dot) < 1 || ($dot) > 2 ) {
$validEmail = false;
break;
} else if ($digit == "@" && ($digit) == "\." && ($digitNo) == 0 ) {
$validEmail = false;
break;
} else if (($digit) == "\." && $at == 0) {
$validEmail = false;
break;

}[/code]

and I still get the same reaction from webpage.
Copy linkTweet thisAlerts:
@smercerauthorMar 04.2005 — Got it working after taking out the "". thanks for your advice.
Copy linkTweet thisAlerts:
@SpectreReturnsMar 04.2005 — Try
[code=php]
if (ereg("^[A-Za-z0-9]+@[A-Za-z0-9]+\.[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]$",$email)) {
...
}
[/code]


There should be a backslash before the "." Only one.
Copy linkTweet thisAlerts:
@smercerauthorMar 04.2005 — [i]Originally posted by SpectreReturns [/i]

[B]Try

[code=php]
if (ereg("^[A-Za-z0-9]+@[A-Za-z0-9]+\.[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]$",$email)) {
...
}
[/code]


There should be a backslash before the "." Only one. [/B][/QUOTE]


I did say I got it fixed, however could you please tell me what your code does? thanks
Copy linkTweet thisAlerts:
@NogDogMar 04.2005 — Here's my preg solution. (Note that per RFC 2822 dots are allowed in the portion before the @ - in fact I have an email address like that.) You can try this out at http://www.charles-reace.com/valid.php .
[code=php]
<?php
error_reporting(E_ALL); # report all errors
# session_start(); # uncomment if using sessions
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang='en'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>
<title>Untitled</title>
<style type="text/css">
<!--
body {
margin: 0;
padding: 1em;
font: medium arial, helvetica, sans-serif;
}
h1,p {text-align: center;}
-->
</style>
</head>
<body>

<h1>Validate Email Address</h1>
<form method=post action="<?php echo $_SERVER['PHP_SELF'] ?>">
<p>Email address: <input name=email type=text size=30 maxlength=60>
<input type=submit value=Validate></p>

<?php
if(isset($_POST['email']))
{
$an = "[a-z0-9_-]"; # any alphanumeric plus '_' and '-'
$regexp = "/^". # beginning of regexp, ^: start of string
"$an+". # 1 or more AN
"(\.$an+)*". # 0 or more combos of "." followed by 1 or more AN
"@". # at sign
"$an+". # 1 or more AN
"(\.$an+)*". # 0 or more combos of "." followed by 1 or more AN
"$/i"; # $: end of string, end of regexp, i: case-insensitive
$valid = (preg_match($regexp, $_POST['email']) == 1) ? "" : "<b>not</b> ";
echo "<p>"{$_POST['email']}" is {$valid}valid.</p>n";
echo "<pre>DEBUG: regexp = '$regexp'</pre>n";
}
?>

</body>
</html>
[/code]
Copy linkTweet thisAlerts:
@SpectreReturnsMar 04.2005 — [i]Originally posted by smercer [/i]

[B]I did say I got it fixed, however could you please tell me what your code does? thanks [/B][/QUOTE]


It checks the string against a pattern, seing if it starts with 1 or more of the characters A-Z, a-z, or 0-9, then sees if there is a @, at which point it checks for one or more valid characters again, then looks for a period, and then for 3 of the valid characters.
Copy linkTweet thisAlerts:
@bokehMar 05.2005 — This will validate the email address against a pattern:

[code=php]
$regexp = "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$";
if (eregi($regexp, $email)) {
print('The email address within limits.);
}else{
print('The email address is pants');
}
[/code]


or you could check it against the DNS entry to make sure the domain exists and is switched on to recieve mail:

[code=php]
function validate_email($email)
{

// Create the syntactical validation regular expression
$regexp = "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$";

// Presume that the email is invalid
$valid = 0;

// Validate the syntax
if (eregi($regexp, $email))
{
list($username,$domaintld) = split("@",$email);
// Validate the domain
if (getmxrr($domaintld,$mxrecords))
$valid = 1;
} else {
$valid = 0;
}

return $valid;

}

if (validate_email($email)){
print('The email address within limits.);
}else{
print('The email address is pants');
}
[/code]


But getmxrr(); only works on Linux/Unix, not windows.
Copy linkTweet thisAlerts:
@bokehMar 05.2005 — Sorry! This line:
[code=php]
print('The email address within limits.);
[/code]

should be this:
[code=php]
print('The email address within limits.');
[/code]
Copy linkTweet thisAlerts:
@bokehMar 06.2005 — Hi again! I posted this earlier:

[code=php]
function validate_email($email)
{

// Create the syntactical validation regular expression
$regexp = "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$";

// Presume that the email is invalid
$valid = 0;

// Validate the syntax
if (eregi($regexp, $email))
{
list($username,$domaintld) = split("@",$email);
// Validate the domain
if (getmxrr($domaintld,$mxrecords))
$valid = 1;
} else {
$valid = 0;
}

return $valid;

}

if (validate_email($email)){
print('The email address within limits.);
}else{
print('The email address is pants');

}
[/code]


but according to [URL=http://www.faqs.org/rfcs/rfc2821]RFC 2821[/URL] when no mail exchangers are listed, hostname itself should be considered as the only mail exchanger with a priority of 0 so I have modified the validate function to take this into account:

[code=php]
<?php

$email = '[email protected]';

function validate_email($email) {

// Create the syntactical validation regular expression
$regexp = "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$";

// Presume that the email is invalid
$valid = 0;

// Validate the syntax
if (eregi($regexp, $email)) {
list($username,$domaintld) = split("@",$email);
// Check for MX record for the domain
if (getmxrr($domaintld,$mxrecords))
$valid = 1;
//If no MX record check for an A record for the domain
if (empty($valid)) {
if (gethostbyname("$domaintld")) {
$valid = 1;
}else {
$valid = 0;
}
}
}

return $valid;

}

if (validate_email($email)){
print('The email address valid.');
}else{
print('The email address is pants.');

}

?>
[/code]


I know you said you are already done but as usual with php there is always another way to do something.
Copy linkTweet thisAlerts:
@smercerauthorMar 06.2005 — [i]Originally posted by bokeh [/i]

[B]or you could check it against the DNS entry to make sure the domain exists and is switched on to recieve mail:

... [/B]
[/QUOTE]


Thanks allot bokeh, I desided to use your code, and thanks to everyone else who did a wonderful job of helping me out here.

another problem with a script from an example I got from here is I can't get it to reject symbols and comes up with this error:

"[b]Warning:[/b] Unknown modifier '&' in /var/www/html/correspondence_confirm.php on line 101

"

here is an example:
[code=php]
line
no
101 } else if (preg_match("^[!@#$%^&*()_+|-=\]^",$phone)) {
102 $phonemessage = "<br />That was an invalid phone number, please try again.<br />";
103 static $invalidItems = true;
104 static $invalidphone = true;
[/code]



I am having another problem as well, when I have the page that confirms the message that also validates the fields, if there is a invalid field, re-calls the same PHP page that the user is on when they click send, comes up with a error page "The page cannot be found".

Is there a way to fix it to re-call this PHP page over and over from within the same document?
Copy linkTweet thisAlerts:
@bokehMar 06.2005 — There was a minor error in the email code. [URL=http://www.moralet.com/test_email.php]Check this out[/URL] to see the working version and the source code.

Regarding your phone number validator can you tell us what the phone numbers you are trying to validate look like. For example in my country phone numbers have 9 figures and start with a 6 or 9. How are they in your part of the planet?

On the last point it's hard to second guess what's happening. Maybe you could try calling the page using the absolute URL just to be certain it isn't a problem with your linking.
Copy linkTweet thisAlerts:
@smercerauthorMar 06.2005 — [i]Originally posted by bokeh [/i]

[B]There was a minor error in the email code. [URL=http://www.moralet.com/test_email.php]Check this out[/URL] to see the working version and the source code.[/B][/QUOTE]


will do, thanks.

[i]Originally posted by bokeh [/i]

[B

Regarding your phone number validator can you tell us what the phone numbers you are trying to validate look like. For example in my country phone numbers have 9 figures and start with a 6 or 9. How are they in your part of the planet? [/B][/QUOTE]

My area always starts with "65" and goes like "65617256" which is my full number, to call interstate you have to dial "02" For New South Wales, "07" for Queensland, "03" for Victoria and Tasmainia, and 08 for Western Australia, Northern Terrority and South Australia before dialing the number.

Edit: dont worry about the area codes because I have separate fields where they can select the right one.

We also have 1800 numbers and 1300 numbers which are 10 digits and 13 numbers that are 6 numbers in length.

any number that does not start with "65" is a national long distance call for us unless it is 1800 which is free call or aa 1300 or 13 numbers which is local call charge nation wide.

[i]Originally posted by bokeh [/i]

[B]

On the last point it's hard to second guess what's happening. Maybe you could try calling the page using the absolute URL just to be certain it isn't a problem with your linking. [/B]
[/QUOTE]


I got it working by myself, it was only a matter of geting the ">" and other simple HTML code in the right places.
Copy linkTweet thisAlerts:
@smercerauthorMar 06.2005 — [i]Originally posted by bokeh [/i]

[B]

This will validate the email address against a pattern:

[code=php]
$regexp = "^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$";
if (eregi($regexp, $email)) {
print('The email address within limits.);
}else{
print('The email address is pants');

}[/code]

[/B][/QUOTE]


I am having problem with the javascript version of email validation I have done because of the while loop, do you already have a version of your wonderful code in javascript? thanks so much.
Copy linkTweet thisAlerts:
@bokehMar 06.2005 — Maybe you could do it something like this:
[code=php]
$pattern = '^(
((65{1})((1|2|3|4|5|6|7|8|9|0){7})) //check local number
|
(((02|03|07|08){1})((1|2|3|4|5|6|7|8|9|0){9})) //check for 02 etc plus 9 figures
|
(((13|1300|1800){1})((1|2|3|4|5|6|7|8|9|0){6,10})) //check for 1300 etc and between 6 and 10 figures
)$';

$telephone = trim ($telephone);
if (eregi ($pattern, $telephone) ) {
print('valid');
}else{
print('not valid');

[/code]

I haven't tested this but it should work! Before you test the number just join the area code and the number together so it checks the complete combination.

Regarding javascript and the email I don't know. I would just validate it using the regular expression and then do the full validate in php.

I'm not a javascript person but you could try the following:
[code=php]
function validateEmail(email)
{
var splitted = email.match("^(.+)@(.+)$");
if(splitted == null) return false;
if(splitted[1] != null )
{
var regexp_user=/^"?[w-_.]*"?$/;
if(splitted[1].match(regexp_user) == null) return false;
}
if(splitted[2] != null)
{
var regexp_domain=/^[w-.]*.[A-Za-z]{2,4}$/;
if(splitted[2].match(regexp_domain) == null)
{
var regexp_ip =/^[d{1,3}.d{1,3}.d{1,3}.d{1,3}]$/;
if(splitted[2].match(regexp_ip) == null) return false;
}// if
return true;
}
return false;
}


[/code]
Copy linkTweet thisAlerts:
@smercerauthorMar 06.2005 — [i]Originally posted by bokeh [/i]

[B]Maybe you could do it something like this:

[code=php]
$pattern = '^(
((65{1})((1|2|3|4|5|6|7|8|9|0){7})) //check local number
|
(((02|03|07|08){1})((1|2|3|4|5|6|7|8|9|0){9})) //check for 02 etc plus 9 figures
|
(((13|1300|1800){1})((1|2|3|4|5|6|7|8|9|0){6,10})) //check for 1300 etc and between 6 and 10 figures
)$';

$telephone = trim ($telephone);
if (eregi ($pattern, $telephone) ) {
print('valid');
}else{
print('not valid');

[/code]

I haven't tested this but it should work! Before you test the number just join the area code and the number together so it checks the complete combination.

[/B][/QUOTE]

I tryied it out and Does not work on any numbers. Thanks so much for trying.

Heres some Australian Numbers:

Local:

65617256

65666685

65582497

65512510

Sydney numbers: (02)

(I thought sydney numbers had an extra digit, anyway some do)

97122200

92389111

92371111

Melbourne numbers?03)

86414200

92857474

long distance?02)

43581524

1800 numbers:

1800555727

1800000634

1800234889

1300 Numbers:

1300650456

1300367647

1300651656

Mobile numbers: (I need a separate field for this)

0403400695

0418652059

0418684400

0412982227

Mobile numbers start from 040 and range to 041, 042, 043. I am not sure if there are any with 044

[i]Originally posted by bokeh [/i]

[B]

Regarding javascript and the email I don't know. I would just validate it using the regular expression and then do the full validate in php.



I'm not a javascript person but you could try the following:

[code=php]
function validateEmail(email)
{
var splitted = email.match("^(.+)@(.+)$");
if(splitted == null) return false;
if(splitted[1] != null )
{
var regexp_user=/^"?[w-_.]*"?$/;
if(splitted[1].match(regexp_user) == null) return false;
}
if(splitted[2] != null)
{
var regexp_domain=/^[w-.]*.[A-Za-z]{2,4}$/;
if(splitted[2].match(regexp_domain) == null)
{
var regexp_ip =/^[d{1,3}.d{1,3}.d{1,3}.d{1,3}]$/;
if(splitted[2].match(regexp_ip) == null) return false;
}// if
return true;
}
return false;
}


[/code]
[/B][/QUOTE]


edit: I thought it was working but is not.
Copy linkTweet thisAlerts:
@bokehMar 06.2005 — Ok! It had a curly brace missing at the end. This seems to work for me:
[code=php]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>Telephone test</title>
</head>

<body>
<form action="" method="post">
Enter a telephone number:
<input type="text" name="telephone" />
<input id="submit" type="submit" value="Check number" tabindex="1" />

<?php

$pattern = '^(((65{1})((1|2|3|4|5|6|7|8|9|0){7}))|(((02|03|07|08){1})((1|2|3|4|5|6|7|8|9|0){9}))|(((13|1300|1800){1})((1|2|3|4|5|6|7|8|9|0){6,10})))$';

$telephone = trim ($telephone);
if (eregi ($pattern, $telephone) ) {
print('valid');
}else{
print('not valid');
}

?>

</body>
</html>
[/code]


If you want help adding other numbers post the combinations!

Lets leave the javascript to one of the experts!
Copy linkTweet thisAlerts:
@smercerauthorMar 06.2005 — I picked out that error myself, and it still does not work, on the server I am using. test it at www.macleaybec.com.au and goto contact us and enter a phone number

I had modified it like so:
[code=php]
$pattern = '^(((65{1})((1|2|3|4|5|6|7|8|9|0){7}))(((02|03|07
|08){1})((1|2|3|4|5|6|7|8|9|0){9}))|(((13|1300|180
0){1})((1|2|3|4|5|6|7|8|9|0){6,10})))$';

$phone = trim ($phone);
if (eregi ($pattern, $phone) ) {
print('valid');
}else{
$phonemessage = "<br />That was an invalid phone number, please try again.<br />";
static $invalidItems = true;
static $invalidphone = true;
}
[/code]

You must have a lot of time on your hands to be helping me like this. Thanks very much.

I think I might give up on this, I think I might be able to do it myself with the limited knowledge I have of PHP.
Copy linkTweet thisAlerts:
@bokehMar 06.2005 — When I posted it the forum put line breaks in $pattern that shouldn't be there.

To see it working, and see the source code properly formatted and test it [URL=http://www.moralet.com/telephone.php]Go to this page[/URL]. If it suits your needs I would be happy to help you add other combinations! At the minute it just contains the combinations from your first post about telephone numbers eg (651234567) & (08 +9 figures) & (1800 + xfigures) etc.
Copy linkTweet thisAlerts:
@smercerauthorMar 06.2005 — It's wrong in that too, and now I know why, You have got your code to expect 9 digits but our local numbers are 8 digits eg: not 651234567 is 65123456

Don't worry about Sydney numbers, I will adjust it if I find sydney numbers with 9 local numbers.

Now in order for me to learn what you have done
[code=php]
<?php

if (isset($telephone)) {

$pattern = '^(((65{1})((1|2|3|4|5|6|7|8|9|0){6}))|(((02|03|07|08){1})((1|2|3|4|5|6|7|8|9|0){8}))|(((13|1300|1800){1})((1|2|3|4|5|6|7|8|9|0){4,10})))$';

$telephone = trim ($telephone);
if (eregi ($pattern, $telephone) ) {
print('valid');
}else{
print('not valid');
}
}

?>
[/code]


That works now. Thanks a lot.
Copy linkTweet thisAlerts:
@Jeff_MottMar 06.2005 — Probably the only regexp for email syntax you'll ever need ...

/^[^x00-x20()&lt;&gt;@,;:\".[]x7f-xff]+(?:.[^x00-x20()&lt;&gt;@,;:\".[]x7f-xff]+)*@[^x00-x20()&lt;&gt;@,;:\".[]x7f-xff]+(?:.[^x00-x20()&lt;&gt;@,;:\".[]x7f-xff]+)+$/
Copy linkTweet thisAlerts:
@smercerauthorMar 07.2005 — [i]Originally posted by Jeff Mott [/i]

[B]Probably the only regexp for email syntax you'll ever need ...

[/B]
[/QUOTE]

Thanks Jeff...Is that PHP or Javascript?
Copy linkTweet thisAlerts:
@smercerauthorMar 07.2005 — bokeh: I have created my own Mobile number pattern matching from the examples you have given, but it is not working. Learning slowly but surely
[code=php]if(!empty($mobile)) {
$pattern = '^(((040|041|042|043){1})((1|2|3|4|5|6|7|8|9|0){7}))$';

$mobile = trim ($mobile);
if (eregi ($pattern, $mobile) ) {
static $invalidItems = false;
static $invalidmobile = false;
}else{
$mobilemessage = "<br />That was an invalid mobile number, please try again.<br />";
static $invalidItems = true;
static $invalidmobile = true;
}
}
[/code]
Copy linkTweet thisAlerts:
@bokehMar 07.2005 — 040 + 7 figures, right?

If so the pattern [URL=http://www.moralet.com/mobile.php]seems to work ok for me[/URL].
×

Success!

Help @smercer spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.8,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...