javascript中序列号的regex

regex for serial number in javascript

本文关键字:regex 序列号 javascript      更新时间:2023-09-26
var serialNumber = $('#SerialNumber').val();
var serialNumberPattern = new RegExp('^['s'da-zA-z'-.]+$');
if (!serialNumberPattern.test(serialNumber)) {
}

上面是我用来验证序列号的代码,序列号中有字母数字字符、点(.(、短划线(-(和斜杠(/(,但不知怎么的,它不起作用。我哪里错了?请帮忙。

当您将regex传递给使用"作为regex分隔符的RegExp构造函数时,您必须再次转义所有反斜杠。否则,它将被视为一个转义序列。

var serialNumberPattern = new RegExp("^[''s''da-zA-Z.-]+$");

字母数字、点(.(、短划线(-(、斜线(/(。

var serialNumberPattern = new RegExp("^[''da-zA-Z./-]+$");

只需使用/^['s'da-zA-Z'-.'/]+$/,它很简单,工作也很好。

只有当表达式的某些部分使用变量时,才应使用RegExp构造函数。在您的情况下,这不是真的,只会增加额外的混乱。

document.write(/^['s'da-zA-Z'-.'/]+$/.test('23 43-89'))