ID過濾靚號寫法(PHP和Nodejs版本)

2022-02-12 02:31:06 字數 2425 閱讀 4855

1 前言

2 **

php版本如下:

function genuserid()

if(!$this->reservenumber($id))

}else

return $id;

}function reservenumber($numstr)

return false;

}function isnicenumber($numstr)else if($this->isliannumseries($a1,$a2,$a3,$a4,$a5))

//先處理前兩個及以上相同的

if($this->issamenumseries($a0,$a1))

}else if($this->issamenumseries($a2,$a3,$a4,$a5))}}

if($this->issamenumseries($a0,$a1,$a2))else if($this->isliannumseries($a3,$a4,$a5))else if($this->issamenumseries($a0,$a1,$a2,$a3))else if($this->issamenumseries($a0,$a4))

}}else if($this->isliannumseries($a0,$a1,$a2))else if($this->issamenumseries($a0,$a3) && $this->issamenumseries($a1,$a4) && $this->issamenumseries($a2,$a5))else if($this->isliannumseries($a0,$a1,$a2,$a3,$a4))

}else if($this->issamenumseries($a1,$a4))

}return false;

}function issamenumseries()else

}if($count == $len)

return $flag;

}function isliannumseries()

if(func_get_arg(0) > func_get_arg($len-1))

for($i = 1; $i < $len; $i++)

}if($count == $len-1)

return $flag;

}

nodejs版本如下:

function genuserid()

if(!reservenumber(id))

}else

console.log("gen userid="+id);

return id;

}function reservenumber(numstr)

return false;

}function isnicenumber(numstr)else if(isliannumseries(a1,a2,a3,a4,a5))

//先處理前兩個及以上相同的

if(issamenumseries(a0,a1))

}else if(issamenumseries(a2,a3,a4,a5))}}

if(issamenumseries(a0,a1,a2))else if(isliannumseries(a3,a4,a5))else if(issamenumseries(a0,a1,a2,a3))else if(issamenumseries(a0,a4))/*else if(issamenumseries(a0,a1,a2,a3,a4,a5))*/

}}else if(isliannumseries(a0,a1,a2))else if(issamenumseries(a0,a3) && issamenumseries(a1,a4) && issamenumseries(a2,a5))else if(isliannumseries(a0,a1,a2,a3,a4))/*else if(isliannumseries(a0,a1,a2,a3,a4,a5))*/

}else if(issamenumseries(a1,a4))

}return false;

}function issamenumseries()else

}if(count == len)

return flag;

}function isliannumseries()

if(arguments[0] > arguments[len-1])

for(var i = 1; i < len; i++)

}if(count == len-1)

return flag;

}

3 小結

上述**是預設id是6位數,如果是位數更多,則只需在這個**上多封裝一層,就可以實現幾位都可以的靚號過濾。如果用正規表示式來寫,**量會更少,顯得更簡潔些。  

1002 手機靚號

手機靚號 time limit 1000ms memory limit 65536k total submit 470 accepted 208 description description 小風涼剛買了手機,去營業廳開戶,營業員讓其挑選自己喜歡的號碼,但那麼多的號碼著實讓他眼花,他對號碼的要求是...

1176 手機靚號

1176 手機靚號 description 小風剛買了手機,去營業廳開戶,營業員讓其挑選自己喜歡的號碼,但那麼多號碼著實讓他眼花,他對號碼的要求是在號碼中6和8的個數要不少於5個,並且沒有數字4,於是請你給他編了乙個程式。input 輸入不多於50組的數,手機號碼 每個數以13或15開頭,長為11位...

主鍵ID流水號

mysql語句 比如想生成pkpk 0000這樣的流水號 pkpk0000,pkpk0001,pkpk0002 利用mysql最大值函式,從第五位開始擷取。select max substring a.book id,5 as maxid from oa xz book 1 a override p...