HTML-使用模式属性

时间:2019-03-07 14:52:19

标签: regex html5

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

  1. 输入中必须包含字符串:“ {ser}”
  2. 除了上面的字符串,输入内容应禁止使用“ {”或“}”

我尝试过:

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

但是由于某些原因,它也允许发送不符合规则的文本。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您不能在文本区域上使用pattern属性,请参见documentation

  

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

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

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

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