验证字符串格式

Abe*_*bel 0 javascript string validation

我有一个字符串不同格式的列表。当一个字符串产生一个字符串时,用户必须键入该特定字符串的格式。

如果给定的字符串是

A-01-13A

(一个字母,后跟破折号,两个数字,后跟破折号,两个数字和一个字母)

或者

A-01-13

(一个字母,后跟破折号,两个数字,后跟破折号,两个数字)


用户的键入字符串在下面进行验证

B-13-99

B-14-11A

用户的键入字符串未在下面验证

B-13-100


使用正则表达式或 Javascript 中的其他方法验证给定字符串的最佳方法是什么?

Dam*_*nic 7

只需使用简单的正则表达式:

const userKeyRegExp = /^[A-Z]\-[0-9]{2}\-[0-9]{2}[A-Z]?$/;

const valid = userKeyRegExp.test('A-01-13A');

console.log(valid);
Run Code Online (Sandbox Code Playgroud)


nit*_*dia 5

您正在寻找的正则表达式是:

^([a-zA-Z]{1}-[0-9]{2}-[0-9]{2}[a-zA-Z]{0,1})$
Run Code Online (Sandbox Code Playgroud)

这意味着:以一个字符开头,后跟破折号,后跟两个数字,后跟破折号,后跟两个数字,以一个字符或无字符结尾。

您可以在Regex101中使用它,也可以在 Javascript 中使用它,如下所示:

^([a-zA-Z]{1}-[0-9]{2}-[0-9]{2}[a-zA-Z]{0,1})$
Run Code Online (Sandbox Code Playgroud)