如何在 jQuery 中对多行文本 4x35 进行正则表达式验证

How to make Regexp Validation in jQuery for multiline text 4x35

我需要制作多行文本框供用户输入 4 行文本,每行 35 个符号。当我使用 TextBox1 中的方法时,它可以工作,但仅适用于 A-Za-z,以及我必须在此处配置的所有其他符号:

$.mask = {
//Predefined character definitions
definitions: {
'9': "[0-9]",
'a': "[A-Za-z]",
'*': "[A-Za-zА-Яа-я0-9`~!@#$%^&*()_+-=\"]",
'#': "[A-Z0-9]"
}
};

不太舒服,因为我仍然不知道这个文本框中需要什么语言的什么符号。

我认为 TextBox2 示例中的 regexp inputmask 是一个很好的决定,但我不擅长 JavaScript Regexp 来创建它(TextBox2 - 这个 Regexp 只是一个例子,我当然需要另一个) .

jQuery(function($){
$("#TextBox1").mask("***********************************
\r\n***********************************
\r\n***********************************
\r\n***********************************");
$('#TextBox2').inputmask('Regex', {
regex: "^[0-9]{2}:[0-5][0-9]:[0-5][0-9]$"
});

有人可以帮助创建这样的正则表达式 - 多行文本 4 行 35 个符号吗? 感谢您的帮助。

这是一个正则表达式,您可以使用它来验证具有 4 行且每行不超过 35 个符号的字符串:

^(?:.{0,35}\r?\n){3}.{0,35}$

demo

正则表达式细分:

  • ^ - 字符串的开头
  • (?:.{0,35}\r?\n){3} - 3 个序列...
    • .{0,35}\r?\n - 0 到 35 个字符,换行符最多为可选回车符 return 和换行符
  • .{0,35}$ - 除了换行符之外的 0 到 35 个字符,直到字符串结尾 ($)。

注意 limiting quantifier {min,max} 的使用,以及 . 的使用来匹配除换行符之外的任何字符。