bvalid
Version:
NodeJs validator
99 lines (88 loc) • 3.21 kB
JavaScript
"use strict";
export const base64 = /^([0-9a-zA-Z+\/]{4})*(([0-9a-zA-Z+\/]{2}==)|([0-9a-zA-Z+\/]{3}=))?$/;
export const validDomainReg = new RegExp(
"^" +
//------Protocol----------
'(?:(?:https?|ftp)://)?' +
//------User(Opt)-------------
"(?:\\S+(?::\\S*)?@)?" +
"(?:" +
//-----------Domain Name------------
"(?:"+
"(?![-_])(?:[-\\w\\u00a1-\\uffff]{0,62}[a-z0-9\\u00a1-\\uffff]\\.)+"+
")"+
//----------------------------------
//Top-level domain format minimum two character
"(?:[a-z\\u00a1-\\uffff]{2,}\\.?)" +
")" +
//-----Port(Opt)--------
"(?::[0-9]{2,5})?" +
//-----Path--------
"(?:[/?#]\\S*)?" +
"$", "i"
);
export const validIpUrlReg = new RegExp(
"^" +
//------Protocol----------
"(?:(?:(?:https?|ftp):)?\\/\\/)?" +
//------User(Opt)-------------
"(?:\\S+(?::\\S*)?@)?" +
//----Valid IP--------------
"(?:" +
"(?!(?:10|127)(?:\\.\\d{1,3}){3})" +
"(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" +
"(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
")" +
//--------------------------
//-------Port-------------
"(?::\\d{2,5})?" +
//-------Path-------------
"(?:[/?#]\\S*)?" +
"$", "i"
);
export const validEmailReg = new RegExp(
"^" +
//------User(Opt)-------------
"(?:"+
"(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"+
"\"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*\")"+
"@"+
")"+
//----Valid IP--------------
"(?:"+
//------email@ip----
"(?:" +
"(?!(?:10|127)(?:\\.\\d{1,3}){3})" +
"(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" +
"(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
")|" +
//------email@[ip]--
"(?:" +
"\\["+
"(?!(?:10|127)(?:\\.\\d{1,3}){3})" +
"(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})" +
"(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})" +
"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])" +
"(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}" +
"(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))" +
"\\]"+
")|" +
//------------------------------
//----Valid Domain--------------
"(?:" +
"(?:"+
"(?![-_])(?:[-\\w\\u00a1-\\uffff]{0,62}[a-z0-9\\u00a1-\\uffff]\\.)+"+
")"+
//Top-level domain format minimum two character
"(?:[a-z\\u00a1-\\uffff]{2,}\\.?)" +
")" +
//--------------------------
")"+
"$", "i"
);