我需要为用户制作多行文本框,以便用户输入 4 行 x 每行 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 个字符,直到可选的回车和换行
  • .{0,35}$ - 除了换行符以外的 0 到 35 个字符,直到字符串 ( $ ) 的末尾。

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

    关于jquery - 如何在 jQuery 中对多行文本 4x35 进行正则表达式验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32451352/

    10-13 00:55