var validator = require ( 'validator' ) ;
module. exports. checkUserName = function ( user, callback) {
var p1 = '^[a-z]{2,9}([0-9]{0,2})?$' ;
if ( ! validator. matches ( user, p1) ) {
return callback ( "Please re-enter your username,规则:[姓(全拼)+ 名简](必须是小写子母,最少2位,最多9位)+重名人序号(最多2位)!" , null ) ;
}
return callback ( null ) ;
} ;
module. exports. checkPassword = function ( loginPwdPolicy, password, callback) {
var uppercaseLetters = loginPwdPolicy. pwdComplexity. uppercaseLetters;
var lowercaseLetters = loginPwdPolicy. pwdComplexity. lowercaseLetters;
var number = loginPwdPolicy. pwdComplexity. number;
var specialCharacter = loginPwdPolicy. pwdComplexity. specialCharacter;
var mapRegular = { } ;
mapRegular[ "lowercaseLetters" ] = [ '(?=.*?[a-z])' , 'a-z' , ' lowercaseLetters' , lowercaseLetters] ;
mapRegular[ "uppercaseLetters" ] = [ '(?=.*?[A-Z])' , 'A-Z' , ' uppercaseLetters' , uppercaseLetters] ;
mapRegular[ "number" ] = [ '(?=.*?\\d)' , '\\d' , ' number' , number] ;
mapRegular[ "specialCharacter" ] = [ '(?=.*?[-_!@#%^*()=+,.;:])' , '-_!@#%^*()=+,.;:' , ' specialCharacter(!@#%^*()-_=+,.;:)' , specialCharacter] ;
var policyRegular = "/^[]*$/" ;
var pwdMsg = '' ;
var index = 0 ;
for ( var key in mapRegular) {
if ( mapRegular[ key] [ 3 ] ) {
if ( index == 0 ) {
pwdMsg += mapRegular[ key] [ 2 ] ;
index++ ;
} else {
pwdMsg += "、" + mapRegular[ key] [ 2 ] ;
}
var policyRegular = utl. insertStr ( policyRegular, 2 , mapRegular[ key] [ 0 ] ) ;
var policyRegular = utl. insertStr ( policyRegular, - 4 , mapRegular[ key] [ 1 ] ) ;
}
}
if ( ! uppercaseLetters && ! lowercaseLetters && ! number && ! specialCharacter) {
var policyRegular = "/.+/" ;
var results = eval ( policyRegular) . test ( password) ;
if ( ! results) {
return callback ( "The character composition of the input must be " + pwdMsg, null ) ;
}
return callback ( null ) ;
} ;