我的数据库中有许多不同的公司(客户)。每个人都需要将订单号传递给他们。但他们都希望订单号是不同的数字和字母序列。
所以在数据库中我有一个代表这种格式的列。例如
@@@###@@@ => 3 个字母,3 个数字,3 个字母
AB##@@ => 'AB',2 个数字,2 个字母
###### => 6 个数字
等等
我需要验证这些订单号的用户输入(文本框),以便它们符合客户对字符串结构的要求。
有什么想法可以用 javascript 实现这一点吗?是否有一个函数或库我可以使用,我可以简单地“插入”从数据库获取的格式,它会根据用户输入的字符返回 true 或 false。
“固定”正则表达式很简单,但这是动态的并且基于客户,并且有数百种不同的格式......
感谢任何帮助。
最佳答案
如果 @ -> 字母和 # -> 数字是您唯一的特殊情况,您可以简单地替换为正则表达式。
var formatField = "AB##@#YZ";
formatField = formatField.split('@').join('[a-zA-Z]');
formatField = formatField.split('#').join('[0-9]');
var reg = new RegExp("^" + formatField + "$");
console.log(reg.test("AB12R3YZ")); // true
console.log(reg.test("2312R3YZ")); // false
关于javascript 验证文本输入框中字母和数字的可变序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35556136/