javascript 验证文本输入框中字母和数字的可变序列

标签 javascript jquery regex

我的数据库中有许多不同的公司(客户)。每个人都需要将订单号传递给他们。但他们都希望订单号是不同的数字和字母序列。

所以在数据库中我有一个代表这种格式的列。例如 @@@###@@@ => 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

JSFiddle

关于javascript 验证文本输入框中字母和数字的可变序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35556136/

相关文章:

javascript - JavaScript 回调是否阻塞?

javascript - ES6 单击按钮时将 div 显示为无

JavaScript RegExp Lookbehind 替代方案?

jquery - 如何在 jQuery 中将一个元素包装在十几个元素中

正则表达式,匹配具有可选结尾的整个单词

javascript 正则表达式给出非法字符错误

javascript - 将 '#ff00fffirstword#445533secondword#008877thirdword' 转换为 html 标签格式

javascript - 如何使用 Jquery 处理作为按钮实现的下拉菜单

javascript - 内联 Javascript 计时器

r - 如何精确地 grep 一个单词