JavaScript 验证文本输入框中的字母和数字的可变序列
javascript validation of a variable sequence of letters and numbers from a text input box
我在数据库中有许多不同的公司(客户)。每个人都需要一个订单号传递给他们。但他们都希望订单号是不同的数字和字母序列。
所以在数据库中,我有一个代表这种格式的列。 @@@###@@@ => 3 letters, 3 numbers, 3 letters
AB##@@ => 'AB', 2 numbers, 2 letters
###### => 6 numbers
等。
我需要验证用户输入(到文本框)这些订单号,以便它们符合客户对字符串结构的要求。
任何想法如何用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
您可以使用 select
元素让用户选择他们将为哪家公司输入客户编号;在选择时,您可以显示与该公司关联的 input
元素,该元素具有 pattern
属性,其中包含反映该公司所需输入的RegExp
相关文章:
- 限制用户使用按键事件 injQuery 复制和粘贴声明为数字文本框的文本框中的字符
- 使用 javascript 从数字文本输入中获取值并将其乘以单选按钮
- 如果 kendo 数字文本框中的值增加最大值,则希望显示错误消息
- 淘汰剑道数字文本框事件
- 单击语法错误:标识符在数字文本之后立即开始
- 如何判断数字文本框的值是否为正数
- AngularJS数字文本输入:指令与函数
- JSON 数字/文本解析会返回一些奇特的结果
- eval 语法错误:标识符在数字文本之后立即开始
- 将焦点设置为剑道数字文本框
- 语法错误:标识符在数字文本 asp.net 之后立即开始
- kendo ui数字文本框不起作用,步长值为0.001
- 向上或向下点击剑道数字文本框
- 空白或空的数字文本框,而不是零值
- 解析文件显示随机的字母数字文本在textView Android
- 数字文本框和日期选择器在js文件中不工作
- 使用javascript将数字文本替换为字母
- 数字文本框-格式
- 如何用javascript求和多个(未定义的数字)文本框的数量
- SyntaxError:在Firebug中,标识符在数字文本之后立即开始