summaryrefslogtreecommitdiff
path: root/www/app/lib/validate.js
diff options
context:
space:
mode:
authorelijah <elijah@riseup.net>2016-09-16 14:02:32 -0700
committerKali Kaneko (leap communications) <kali@leap.se>2016-09-22 11:40:11 -0400
commit073393af311d36c8ca7570ff0d3f0a3117c0b544 (patch)
treee59286ac350ba17110392f53b6e48bcedfd12ef1 /www/app/lib/validate.js
parentae5a20d059209f2027c05820dc3b4cfe7346c8a8 (diff)
[pkg] rename www to ui
Diffstat (limited to 'www/app/lib/validate.js')
-rw-r--r--www/app/lib/validate.js82
1 files changed, 0 insertions, 82 deletions
diff --git a/www/app/lib/validate.js b/www/app/lib/validate.js
deleted file mode 100644
index 4e672e8f..00000000
--- a/www/app/lib/validate.js
+++ /dev/null
@@ -1,82 +0,0 @@
-// https://github.com/dropbox/zxcvbn
-
-var DOMAIN_RE = /^((?:(?:(?:\w[\.\-\+]?)*)\w)+)((?:(?:(?:\w[\.\-\+]?){0,62})\w)+)\.(\w{2,6})$/
-var USER_RE = /^[a-z0-9_-]{1,200}$/
-var USER_INT_RE = /^[\.@a-z0-9_-]*$/
-
-//
-// Validations returns an error message or false if no errors
-//
-
-class Validations {
-
- domain(input) {
- if (!input.match(DOMAIN_RE)) {
- return "Not a domain name"
- } else {
- return null
- }
- }
-
- usernameInteractive(input) {
- if (!input.match(USER_INT_RE)) {
- return "Username contains an invalid character"
- }
- return false
- }
-
- username(input) {
- if (!input.match(USER_INT_RE)) {
- return "Username contains an invalid character"
- }
- if (!input.match('@')) {
- return "Username must be in the form username@domain"
- }
- let parts = input.split('@')
- let userpart = parts[0]
- let domainpart = parts[1]
- if (!userpart.match(USER_RE)) {
- return "Username contains an invalid character"
- } else if (!domainpart.match(DOMAIN_RE)) {
- return "Username must include a valid domain name."
- }
- return false
- }
-
- passwordStrength(passwd) {
- if (typeof(zxcvbn) == 'function') {
- // zxcvbn performs very slow on long strings, so we cap
- // the calculation at 30 characters
- return zxcvbn(passwd.substring(0,30))
- } else {
- return null
- }
- }
-
- //
- // loads the zxcvbn library. because this library is big, we don't load it
- // every time, just when needed.
- //
- // this is the webpack way to do this:
- //
- // require.ensure([], function () {
- // var zxcvbn = require('zxcvbn');
- // });
- //
- // that works, but requires that we also process the original coffeescript
- // source if we want to avoid warning messages.
- //
- loadPasswdLib(onload) {
- var id = "zxcvbn-script"
- if (!document.getElementById(id)) {
- var script = document.createElement('script')
- script.id = id
- script.onload = onload
- script.src = './js/zxcvbn.js'
- document.getElementsByTagName('script')[0].appendChild(script)
- }
- }
-}
-
-var Validate = new Validations()
-export default Validate