我正在尝试验证"KQkq" <or> "-"
,在第一种情况下,任何字母都可能丢失(期望所有字母,在这种情况下应该是"-"
)。字符的顺序也很重要。
法律示例的快速示例如下:
-
Kkq
q
这是为了进行国际象棋FEN验证,我已经使用以下方法验证了前两部分:。
var fen_parts = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
fen_parts = fen_parts.split(" ");
if(!fen_parts[0].replace(/[1-8/pnbrqk]/gi,"").length
&& !fen_parts[1].replace(/[wb]/,"").length
&& !fen_parts[2].replace(/[kq-]/gi,"").length /*not working, allows KKKKKQkq to be valid*/
){
//...
}
但是简单地使用/[kq-]/gi
验证第三部分允许引入太多东西,这里有一些非法示例的快速示例:
KKKKQkq
(有不止一个K)QK
(顺序不正确)