<html>
<head>
<meta charset="utf-8">
<title>Verifying forms</title>
</head>
<body>
<dl>
<dt>
URLs (no
<a href="https://en.wikipedia.org/wiki/Internationalized_domain_name" title="Internationalized domain name">
IDNs
</a>):
<dd>
<input type="url" name="url1"
maxlength="2083"
pattern="https?:\/\/(?![^\/]{253}[^\/])((?!-.*|.*-\.)([a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,15}|((1[0-9]{2}|[1-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.){3}(1[0-9]{2}|[1-9]?[0-9]|2([0-4][0-9]|5[0-5])))(\/.*)?">
</dd>
<dt>
URLs (including IDNs; MUCH less strict)
</dt>
<dd>
<input type="url" name="url2"
maxlength="2083"
pattern="https?:\/\/(?!.{253}.+$)((?!-.*|.*-\.)([^ !-,\.\/:-@\[-`{-~]{1,63}\.)+([^ !-\/:-@\[-`{-~]{2,15}|xn--[a-zA-Z0-9]{4,30})|(([01]?[0-9]{2}|2([0-4][0-9]|5[0-5])|[0-9])\.){3}([01]?[0-9]{2}|2([0-4][0-9]|5[0-5])|[0-9]))(\/.*)?">
</dd>
<dt>
Email addresses:
</dt>
<dd>
<input type="email" name="mail"
pattern="(?!(^[.-].*|[^@]*[.-]@|.*\.{2,}.*)|^.{254}.)([a-zA-Z0-9!#$%&'*+\/=?^_`{|}~.-]+@)(?!-.*|.*-\.)([a-zA-Z0-9-]{1,63}\.)+[a-zA-Z]{2,15}">
</dd>
<dt>
Phone numbers (with spaces)
</dt>
<dd>
<input type="tel" name="phone1"
pattern="((\+|00)?[0-9]{2}|0)[1-9]( ?[0-9]){8}">
</dd>
<dt>
Phone numbers (without spaces)
</dt>
<dd>
<input type="tel" name="phone2"
pattern="((\+|00)?[0-9]{2}|0)[1-9]([0-9]){8}">
</dd>
<dt>
Western-type names (watch out when internationalising!) (does include Greek and accented Latin letters)
</dt>
<dd>
<input type="text" name="name"
pattern="([A-ZΆ-ΫÀ-ÖØ-Þ][A-ZΆ-ΫÀ-ÖØ-Þa-zά-ώß-öø-ÿ]{1,19} ?){1,10}">
</dd>
</body>
</html>
input:valid {
background-color:#9F9;
}
input:invalid {
background-color:#F99;
}
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |