Skip to content

Instantly share code, notes, and snippets.

@jlukic
Last active October 11, 2016 12:49
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jlukic/6749676 to your computer and use it in GitHub Desktop.
Save jlukic/6749676 to your computer and use it in GitHub Desktop.
Javascript Autocomplete Regular Expressions for form validation
$.fn.form.settings = {
defaults: {
name : 'Field',
optional : false,
validate : 'empty'
}
};
$.fn.form.validation = {
repeat: {
field: 'same as|use my|bill|ship'
},
email: {
name : 'E-mail',
field : 'e.?mail|メールアドレス|Электронной.?Почты|邮件|邮箱|電郵地址',
validate : '^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$',
},
username: {
name : 'Username',
field : 'user.?name|user.?id|vollständiger.?name|用户名'
},
password: {
name : 'Password',
field : 'pass.?word|',
// one letter one number 6 characters
validate: '/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/'
},
url: {
name : 'Website',
field : 'url|web.?site',
validate : '^((((https?|ftps?|gopher|telnet|nntp)://)|(mailto:|news:))(%[0-9A-Fa-f]{2}|[-()_.!~*';/?:@&=+$,A-Za-z0-9])+)([).!';/?:,][[:blank:]])?$'
},
name: {
name : 'Name',
field : '^name|full.?name|your.?name|customer.?name|firstandlastname|nombre.*y.*apellidos|^nom|お名前|氏名|^nome|姓名'
},
firstName: {
name : 'First Name',
field : 'first.*name|initials|fname|first$|vorname|nombre|forename|prénom|prenom|名|nome|Имя'
},
lastName: {
name : 'Last Name',
field : 'last.*name|lname|surname|last$|nachname|apellidos|famille|^nom|cognome|姓|morada|apelidos|surename|sobrenome|Фамилия'
},
zipcode: {
name : 'Zipcode',
field : 'zip|postal|post code|pcode|^1z$|postleitzahl|cp|cdp|^cap$|郵便番号|codigo|codpos|cep|Почтовый.?Индекс|é‚®æ”¿ç¼–ç |邮编|郵遞區號',
validate: 'number'
},
city: {
name : 'City',
field : 'city|town|ort|stadt|suburb|ciudad|provincia|localidad|poblacion|ville|commune|localita|市区町村|cidade|Город|市|分區'
},
state: {
name : 'State',
field : 'state|county|region|province|land|county|principality|都道府県|estado|provincia|область|省|地區'
},
region: {
name : 'Region',
field : 'province|region|other|provincia|bairro|suburb'
},
country: {
name : 'Country',
field : 'country|location|国|国家'
},
addressOne: {
name : 'Street Address',
labelfield : 'address|adresse|indirizzo|住所|地址',
field : 'address.?line|address1|addr1|street|strasse|straße|hausnummer|housenumber|house.?name|direccion|dirección|indirizzo|住所1|morada|endereço|Адрес|地址',
},
billingName: {
name : 'Billing Name',
field : 'card.?holder|name.?on.?card|ccname|owner|karteninhaber|nombre.*tarjeta|nom.*carte|nome.*cart|名前|Имя.*карты|信用卡开户名|开户名|持卡人姓名|持卡人姓名'
},
cardNumber: {
name : 'Card Number',
field : 'number|card.?#|card.?no|ccnum|nummer|credito|numero|número|numéro|カード番号|Номер.*карты|信用卡号|ä¿¡ç”¨å¡å·ç |信用卡卡號',
validate : '^((4\d{3})|(5[1-5]\d{2})|(6011)|(7\d{3}))-?\d{4}-?\d{4}-?\d{4}|3[4,7]\d{13}$'
},
securityCode: {
name : 'Security Code',
field : 'verification|card identification|cvn|security code|cvv code|cvc',
validate : '^[0-9]{3,4}$'
},
expirationMonth: {
name : 'Expiration Month',
field : 'expir|exp.*month|exp.*date|ccmonth|gueltig|gültig|monat|fecha|date.*exp|scadenza|有効期限|validade|Срок действия карты|月'
},
expirationYear: {
name : 'Expiration Year',
field : 'exp|^/|year|ablaufdatum|gueltig|gültig|yahr|fecha|scadenza|有効期限|validade|Срок действия карты|年|有效期'
},
areaCode: {
name : 'Area Code',
field : 'area.*code|acode|area',
validate : '^[1-9]\d*$'
},
phone: {
name : 'Phone',
field : 'phone|telefonnummer|telefono|teléfono|telfixe|電話|telefone|telemovel|телефон|电话',
validate : '^[1-9]\d*$'
},
countryCode: {
name : 'Country Code',
field : 'country.*code|ccode|_cc'
},
addressTwo: {
name : 'Address 2',
optional : true,
labelfield : 'address|adresse|indirizzo|地址',
field : 'address.?line2|address2|addr2|street|suite|unit|adresszusatz|ergänzende.?angaben|direccion2|colonia|adicional|addresssuppl|complementnom|appartement|indirizzo2|住所2|complemento|addrcomplement|Улица|地址2'
},
company: {
name : 'Company',
optional : true,
field : 'company|business|organization|organisation|department|firma|firmenname|empresa|societe|société|ragione.?sociale|会社|название.?компании|单位|公司'
},
middleInitial: {
name : 'Middle Initial',
optional : true,
field : 'middle.*initial|m\.i\.|mi$'
},
middleName: {
name : 'Middle Name',
optional : true,
field : 'middle.*name|mname|middle$|apellido.?materno|lastlastname'
},
phoneExtension: {
name : 'Extension',
optional : true,
field : 'ext|ramal'
}
fax: {
name : 'Fax',
optional : true,
field : 'fax|télécopie|telecopie|ファックス|факс|ä¼ çœŸ|傳真'
},
zipcodeTwo: {
name : 'Zipcode 2',
optional : true,
field : 'zip|^-$|post2|codpos2'
},
addressThree: {
name : 'Address 3',
optional : false,
field : 'address.?line3|address3|addr3|street|line3|municipio|batiment|residence|indirizzo3'
},
attention: {
name : 'Attention',
optional : false,
field : 'attention|attn'
},
phonePrefix: {
name : 'Phone Prefix'
optional : true,
field : 'prefix|preselection|ddd'
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment