Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证字符串格式_Javascript_String_Validation - Fatal编程技术网

Javascript 验证字符串格式

Javascript 验证字符串格式,javascript,string,validation,Javascript,String,Validation,我有一个字符串不同格式的列表。当字符串生成某个字符串时,用户必须输入该特定字符串的格式 如果给定的字符串是 A-01-13A (一个字母,后跟破折号,两个数字,后跟破折号,两个数字和一个字母) 或 A-01-13 (一个字母,后面跟破折号,两个数字,后面跟破折号,两个数字) 用户的输入字符串已验证,如下所示: B-13-99 B-14-11A 用户的输入字符串未经验证如下: B-13-100 使用正则表达式或Javascript中的其他方法验证给定字符串的最佳方法是什么?只需使用简单正则表达

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

如果给定的字符串是

A-01-13A

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

A-01-13

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


用户的输入字符串已验证,如下所示:

B-13-99

B-14-11A

用户的输入字符串未经验证如下:

B-13-100


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

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

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

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

console.log(valid);

你可以用下面的方法来做

函数验证(str){
返回str.match(/^[A-Z]-\d{2}-\d{2}[A-Z]?$/)!==null;
}
控制台日志(验证('A-01-13A'));
控制台日志(验证('A-01-13'));
控制台日志(验证('B-13-99');
控制台日志(验证('B-14-11A');

控制台日志(验证('B-13-100')您要查找的RegExp表达式是:

^([a-zA-Z]{1}-[0-9]{2}-[0-9]{2}[a-zA-Z]{0,1})$
这意味着: 以一个字符开头,后跟一个破折号,后跟两个数字,后跟一个破折号,后跟两个数字,以一个或无字符结尾

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

/**@const{!RegExp}要验证的代码模式*/
const CODE_PATTERN=/^([a-zA-Z]{1}-[0-9]{2}-[0-9]{2}[a-zA-Z]{0,1})$/;
/**
*验证特定代码是否与预期的RegExp匹配。
*使用代码模式进行验证。
*@param{string}code-要验证的代码。
*@return{bool}提供的代码是否与模式匹配。
*/
const validateCode=函数(代码){
返回代码\模式测试(代码);
};
//代码的测试样本。
常量测试代码=[
‘A-01-13A’,
‘A-01-13’,
“B-13-99”,
“B-14-11A”,
“B-13-100”
];
for(测试代码中的代码){
const isValidCode=validateCode(代码);
console.log(isValidCode);

}
你试过正则表达式吗?没有。我不熟悉正则表达式。@AbelChun:你解决问题了吗?当使用正则表达式验证字符串时,测试更具语义,因为它返回true或false。