首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3个字符不连续重复

3个字符不连续重复
EN

Stack Overflow用户
提问于 2018-03-10 06:00:37
回答 1查看 207关注 0票数 2

我试图在HTML模式属性中创建一个正则表达式,以便我的字符串只有4个字符,只有单词和数字,但没有字符重复3次或更多。

我想出了这个,但它只检查3个连续的字符,我也需要非连续的重复。

代码语言:javascript
复制
(?!.*([A-Za-z0-9])\1{2})[A-Za-z0-9]{4}

此外,字符串应该不区分大小写,例如:

代码语言:javascript
复制
dadd - invalid,
dadD - also invalid,
dada - valid,
1121 - invalid,
1122 - valid

我在网上找不到任何答案,现在我被困住了。

EN

回答 1

Stack Overflow用户

发布于 2018-03-12 13:23:22

传统上,HTML表单验证可以由JavaScript完成。

如果表单域(fname)中的输入不符合正则表达式模式,该函数将警告一条消息,并返回false,以阻止提交表单:

代码语言:javascript
复制
function validateForm() {
    var str = document.forms["myForm"]["fname"].value;
    const regex = /^(?!.*(.)(?:.*\1){2})[a-z0-9]{4}$/i;
		let m;
    if ((m = regex.exec(str)) == null) {
    alert("Use the following format: 4 characters, words and numbers only, but with no character repeated 3 or more times.");
  	return false;
    }
}
代码语言:javascript
复制
<form name="myForm" action="/action_page.php"
onsubmit="return validateForm()" method="post">
Name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49202820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档