Html Regex将限制几种场景

Html Regex将限制几种场景,html,regex,validation,text,input,Html,Regex,Validation,Text,Input,我需要一个html输入来有一些限制: 不允许有空格 不允许同一字符连续超过3次 不允许数字,0-9 注意:必须允许重音字符(ç、á、ê等) 目前,我只执行了最后一条规则(不允许使用数字): 如果您能向我展示在html输入上实现的这一点,那就太好了。非空格和非数字非常简单-^[^\s0-9]+$。非重复条件可通过负前瞻^(?。*()\1{3})实现: 演示: 请注意,除了非拉丁字母外,它还允许使用特殊字符(?,!,@,等等),但问题中并未明确禁止这些字符。对于非四重重复,就像Dmitry所说的

我需要一个html输入来有一些限制:

  • 不允许有空格
  • 不允许同一字符连续超过3次
  • 不允许数字,0-9
注意:必须允许重音字符(ç、á、ê等)

目前,我只执行了最后一条规则(不允许使用数字):


如果您能向我展示在html输入上实现的这一点,那就太好了。

非空格和非数字非常简单-
^[^\s0-9]+$
。非重复条件可通过负前瞻
^(?。*()\1{3})
实现:

演示:


请注意,除了非拉丁字母外,它还允许使用特殊字符(
@
,等等),但问题中并未明确禁止这些字符。

对于非四重重复,就像Dmitry所说的。
通过消极的前瞻很容易做到<代码>(?!*()\1{3})

对于特殊的utf字符,可以添加unicode范围

^(?!.*(.)\1{3})[a-zA-Z\u00c0-\u00ff]+$
或者添加您期望的范围,例如从

html输入和正则表达式模式验证示例


信件:

Edited@TimBiegeleisen,谢谢。我认为您需要使用lookarounds来完成这项工作,我不确定HTML输入正则表达式是否支持此功能。“必须允许特殊的utf-8字符(ç、á、ê等…)”太宽了,请查看unicode表并清楚地解释允许或不允许使用哪种字符。@CasimiretHippolyte,您是对的。什么意思是重音字符mostly@HulaHula:只有拉丁字符?是否允许使用ASCII非字母字符:`{#]…`(空格和数字除外)?无论是谁出于何种原因否决了投票。谢谢,现在我的声誉又被四舍五入到模数10。为了更好地查看unicode表,我建议使用以下有用的站点:
^(?!.*(.)\1{3})[^\s0-9]+$
^(?!.*(.)\1{3})[a-zA-Z\u00c0-\u00ff]+$
^(?!.*(.)\1{3})[a-zA-ZÀ-ÿ]+$