How to use regex to limit domains? - regex

I'm making an html5 form and only want users to sign up with .edu or .gov email addresses. What would the regex look like for that? I know it must be checked serverside as well, but one step at a time.
Example:
<input type="email" pattern="[a-z0-9._%+-]+#[a-z0-9.-]+\.[a-z]{2,4}$" />

Building on How to validate an email address in JavaScript? I came up with this using a simplified RFC 2822 compatible pattern:
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*#((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9]\.)+(edu|gov)
Regex Demo
The major difference is how the domain part is evaluated. I took this from my previous answer.
<form action="javascript:console.log('ok')">
<input type="text" name="domain"
pattern="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*#((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9]\.)+(edu|gov)" title="Sorry, only email addresses from .edu and .org domains are allowed.">
<input type="submit">
</form>

Add this:
^[a-zA-Z0-9_.+-]+#(?:(?:[a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)?(domain|domain2)\.(edu|gov)$
Demo

Related

cfinput not accepting .education domain names

For the first time ever I had two users come into my app with a .education top level domain. Their email address looked like this: user#domain.education. I'm using the cfinput validate attribute on the form they are filling out as follows:
<cfinput type="text" name="email" required="yes" message="Please enter a valid email address." validate="email">
When the users submits the form they are getting my error message. The form has been working successfully for years on all the other email addresses entered. Are there any tricks to make it take this top level domain? TIA
Avoid all of the ColdFusion UI tags. They will only cause pain.
Each version of ColdFusion updates the built-in email validation to handle the new top-level domains (TLD) of the time. There are nearly 1600 active TLDs at the moment.
Javascript validation isn't going to cut it.
Regular expressions won't either.
You will need to validate on the server if you aren't already.
Better you remove that validation rule for a start and send an email to verify the email account exists before activating the user on your app.
I agree with the other answers about limiting your use of cfinput, but as a quick fix you should be able to use the cfinput PATTERN attribute (https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-tags/tags-i/cfinput.html):
<cfinput type="text" name="email" required="yes" message="Please enter a valid email address." validate="regex" pattern="(?:[a-z0-9!##$%&'+/=?^_{|}~-]+(?:\.[a-z0-9!##$%&'*+/=?^_{|}~-]+)|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])")#(?:(?:a-z0-9?.)+a-z0-9?|[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-][a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+)])">
The PATTERN attribute can be changed to any regular expression. The one provided is RFC 5322 compliant.
EDIT: Changed pattern to Java based RegEx and escaped #'s

Angular 2 New forms API how to validate with a regular expression

I have a plunkr here. How can I get the Submit button to be disabled till the dob is in mm/dd/yyyy pattern?
https://plnkr.co/edit/GtPDxw?p=preview
Here's the form
<form [formGroup]="flashyForm">
<input formControlName="dob" pattern="^\d{2}\/\d{2}\/\d{4}$" placeholder="Date of Birth">
<button type="submit" [disabled]="!flashyForm.valid">Submit</button>
</form>
You can try pattern="^(0[1-9]|1[0-2])/(0[1-9]|1[0-2])/([0-9]{4})$".
Customize year as per your need.
Pattern needs to be a string like
pattern="\d{2}\/\d{2}\/\d{4}"
^ and $ are added automatically. I don't remember if \ need to be escaped as \\, but I guess so.
See also https://github.com/angular/angular/issues/10150

RegExing a veiwstate

First of all, what is a viewstate?
In testautomation I probably need to correlate this value as it is unique for every user logging in?
How can I get the 'value' / token below using regex?
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTUxOTg3NDM2NGQYCAUkY3RsMDAkTWFpbk1lbnUkTWVudSRjdGwwMSRjdGwwMCRNZW51DxQrAA5kZGRkZGRkPCsABQACBWRkZGYC/////w9kBSRjdGwwMCRNYWluTWVudSRNZW51JGN0bDAzJGN0bDAwJE1lbnUPFCsADmRkZGRkZGQ8KwAEAAIEZGRkZgL/////D2QFJGN0bDAwJE1haW5NZW51JE1lbnUkY3RsMDQkY3RsMDAkTWVudQ8UKwAOZGRkZGRkZDwrAAcAAgdkZGRmAv////8PZAUkY3RsMDAkTWFpbk1lbnUkTWVudSRjdGwwNiRjdGwwMCRNZW51DxQrAA5kZGQCAmRkZDwrAAkAAglkZGRmAv////8PZAUkY3RsMDAkTWFpbk1lbnUkTWVudSRjdGwwMiRjdGwwMCRNZW51DxQrAA5kZGQCAmRkZDwrAAsAAgtkZGRmAv////8PZAUpY3RsMDAkRm9vdGVyUmVnaW9uJGN0bDAwJEZvb3RlckxpbmtzJExpc3QPD2ZkZAUTY3RsMDAkY3RsMDMkUnNzTGlzdA8PZmRkBSRjdGwwMCRNYWluTWVudSRNZW51JGN0bDA1JGN0bDAwJE1lbnUPFCsADmRkZGRkZGQ8KwAJAAIJZGRkZgL/////D2R3kjxauWd2eu+C/bmZz+/bI7YRkg==" />
Read this: RegEx match open tags except XHTML self-contained tags
then if you still want to have a go, use this:
(?<=input )(?:.*)(value\=\".*\")

How to test if the input value contain string

In my html 5 page, I want to force the user to add in the end of his login the ".app" string.
Do you know how I can make that ?
My current code:
<input type="text" name="user_login" placeholder="firstname.app" required style="width:92%;" pattern="/.app/">
Thanks you for your help.
EDIT
I have resolved my problem with a jQuery check and a html 5 pattern
JS:
// If the user login doesn't finish by .app, we add them
if(!$('input[name=user_login]').val().match('[.]app$'))
$('input[name=user_login]').val($('input[name=user_login]').val() + '.app');
HTML5:
<input type="text" name="user_login"
placeholder="firstname.app" required style="width:92%;"
pattern=".*\.app">
There are a few differences between regex in JavaScript and in HTML attributes :
you don't have to put your regex between /, contrary to js regex literals
the start and end are implicit, so here you should add .* to match the start
You also forgot to escape the dot.
All in one, you probably want this :
<input type="text" name="user_login"
placeholder="firstname.app" required style="width:92%;"
pattern=".*\.app">
Demonstration
try this:
if($('input[name="user_login"]').val().indexOf(".app") >= 0){
//code
}
or pattern:
<input type="text" name="user_login" placeholder="firstname.app" required style="width:92%;" pattern="\w*.app">
Here is demo
You could do it by specifying the specific pattern:
<input type="text"
name="user_login"
placeholder="firstname.app"
required style="width:92%;"
pattern="[A-Za-z-0-9]+\.app">

google charts bad request

does anyone know why this is a bad request?
http://chart.apis.google.com/chart?cht=lxy&
chd=t:0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100&
chco=3072F3,ff0000,00aaaa,541269&chs=1000x200&chxt=x,y&
chxl=0:|18|18|18|18|18|19|19|19|19|19|19|20|20|20|20|20|20|21|21|21|21|21|21|22|22|22|22|22|22|23|23|23|23|23|23|0|0|0|0|0|0|1|1|1|1|1|1|2|2|2|2|2|2|3|3|3|3|3|3|4|4|4|4|4|4|5|5|5|5|5|5|6|6|6|6|6|6|7|7|7|7|7|7|8|8|8|8|8|8|9|9|9|9|9|9|10|10|10|10|10|10|11|11|11|11|11|11|12|12|12|12|12|12|13|13|13|13|13|13|14|14|14|14|14|14|15|15|15|15|15|15|16|16|16|16|16|16|17|17|1:||3.5|7|10.5|14
trying to plot four lines on a graph
thanks
Google Charts has a maximum length of URL that it will handle without giving that error. I'm not sure what that limit is precisely, but your URL is 4774 characters long and I think the limit is just over 2000 characters.
You may need to use the simple or extended data encoding instead of text encoding. Text encoding is the least space-efficient way of encoding data for the Google Charts API. See the Data Formats API documentation for more information.
As Greg said, your URL is too long.
The maximum length of a URL is not determined by the Google Chart API, but rather by web browser and web server considerations. Currently, URLs that are over 2048 characters in length when URL-encoded (e.g., | becomes %7C) are not recommended. As web browsers and servers evolve, this number may change. See http://www.boutell.com/newfaq/misc/urllength.html for a more in-depth discussion.
Have a look at the Google Chart API FAQ for more information
Although this is already answered correctly I thought it might be useful to provide a practical solution using your data:
<form id='graphform' name='graphform' action='https://chart.googleapis.com/chart' method='POST' target='graph_target'>
<input type="hidden" name="cht" value='lxy' />
<input type="hidden" name="chd" value="t:0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|0,0.7,1.4,2.2,2.9,3.6,4.3,5,5.8,6.5,7.2,7.9,8.6,9.4,10.1,10.8,11.5,12.2,12.9,13.7,14.4,15.1,15.8,16.5,17.3,18,18.7,19.4,20.1,20.9,21.6,22.3,23,23.7,24.5,25.2,25.9,26.6,27.3,28.1,28.8,29.5,30.2,30.9,31.7,32.4,33.1,33.8,34.5,35.3,36,36.7,37.4,38.1,38.8,39.6,40.3,41,41.7,42.4,43.2,43.9,44.6,45.3,46,46.8,47.5,48.2,48.9,49.6,50.4,51.1,51.8,52.5,53.2,54,54.7,55.4,56.1,56.8,57.6,58.3,59,59.7,60.4,61.2,61.9,62.6,63.3,64,64.7,65.5,66.2,66.9,67.6,68.3,69.1,69.8,70.5,71.2,71.9,72.7,73.4,74.1,74.8,75.5,76.3,77,77.7,78.4,79.1,79.9,80.6,81.3,82,82.7,83.5,84.2,84.9,85.6,86.3,87.1,87.8,88.5,89.2,89.9,90.6,91.4,92.1,92.8,93.5,94.2,95,95.7,96.4,97.1,97.8,98.6,99.3|100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100" />
<input type="hidden" name="chco" value="3072F3,ff0000,00aaaa,541269" />
<input type='hidden' name='chs' value='1000x200' />
<input type="hidden" name="chxt" value="x,y" />
<input type="hidden" name="chxl" value="0:|18|18|18|18|18|19|19|19|19|19|19|20|20|20|20|20|20|21|21|21|21|21|21|22|22|22|22|22|22|23|23|23|23|23|23|0|0|0|0|0|0|1|1|1|1|1|1|2|2|2|2|2|2|3|3|3|3|3|3|4|4|4|4|4|4|5|5|5|5|5|5|6|6|6|6|6|6|7|7|7|7|7|7|8|8|8|8|8|8|9|9|9|9|9|9|10|10|10|10|10|10|11|11|11|11|11|11|12|12|12|12|12|12|13|13|13|13|13|13|14|14|14|14|14|14|15|15|15|15|15|15|16|16|16|16|16|16|17|17|1:||3.5|7|10.5|14" />
</form>
<iframe name='graph_target' src='' style='width:1000px;height:200px;'></iframe>
<script type="text/javascript">
document.forms["graphform"].submit();
</script>
This generates a rather uninformative graph!