HTML - 使用模式属性

问题描述 投票:0回答:1

在html格式中,我需要textarea,它允许任何类型的文本:数字,符号,换行符或字母,包括希伯来字母。唯一的两条规则:

  1. 输入必须包含字符串:“{ser}”
  2. 除上述字符串外,输入应禁止使用“{”或“}”

我试过这个:

<form action="#">
...
  <textarea pattern="[^\{\}]*\{ser\}[^\{\}]*" required>
האם אתה נמצא בשבת הקרובה? אם כן נא השב {ser} + שם מלא
  </textarea>
...
  <input type="submit" />
...
                    </form>

但由于某种原因,它还允许发送不符合规则的文本。我很感激你的帮助。

regex html5
1个回答
0
投票

你不能在textareas上使用pattern属性,请参阅documentation

maxlength指定允许包含的最大字符数。您还可以使用minlength属性设置被认为有效的最小长度,并使用required属性指定不提交(并且无效)(如果它为空)。这提供了简单的验证,这比其他表单元素更基本(例如,您不能提供特定的正则表达式来使用模式属性来验证值,就像使用input元素一样)。

也许用javascript实现正则表达式匹配?

function validateTextarea(text) {
  var re = /ser/g;
  var result = text.match(re);
  if(result != null && result.length > 0)
    // Do something
}

那么可能最好的方法是检查onsubmit表单属性中的函数。

© www.soinside.com 2019 - 2024. All rights reserved.