用于3个字母数字和3个句号的javascript正则表达式模式
我对regex不熟悉,试图为客户编写一个模式,以便将他们自己的自定义详细信息添加到产品中。其理念是允许客户最多有3个字母数字字符和3个句号/句点,例如,这些都是有效的条目:用于3个字母数字和3个句号的javascript正则表达式模式,javascript,jquery,regex,Javascript,Jquery,Regex,我对regex不熟悉,试图为客户编写一个模式,以便将他们自己的自定义详细信息添加到产品中。其理念是允许客户最多有3个字母数字字符和3个句号/句点,例如,这些都是有效的条目: abc ab a.b.c a..bc ... a.b. etc 鉴于这些条款无效: abcd (too many characters) a.... (too many .) abcd. (too many alphanumeric) 到目前为止,我已经得到了以下信息,但它没有检测到字母和。交错排列:例如“a.b.c”
abc
ab
a.b.c
a..bc
...
a.b.
etc
鉴于这些条款无效:
abcd (too many characters)
a.... (too many .)
abcd. (too many alphanumeric)
到目前为止,我已经得到了以下信息,但它没有检测到字母和。交错排列:例如“a.b.c”
这就是我所处的位置:
$(document).on('keyup', 'input.custom', function() {
currentText = $(this).val();
reg = /^([a-zA-Z]{0,3})|([.]{0,3})$/igm;
if (currentText.match(reg)) {
console.log('match');
} else {
console.log('no match');
}
});
感觉我很接近,但错过了一些非常重要的事情 匹配:^[a-zA-Z0-9.]{6}$(如果还允许下划线,则可以将范围替换为\w。)
然后计算文本中句点的出现次数,并确保它是3。匹配:^[a-zA-Z0-9.]{6}$(如果还允许下划线,则可以将范围替换为\w。)
然后计算文本中句点的出现次数,并确保它是3。使用如下环视
^(?!(?:[^.\n]*\.){4,})(?!(?:[^A-Za-z0-9\n]*[A-Za-z0-9]){4,})(?=.*[A-Za-z.0-9]).*$
说明:
断言字符串中不存在4个或更多点(?!(?:[^.\n]*\){4,})
声明字符串中不存在4个或更多字母数字字符(?!(?:[^A-Za-z0-9\n]*[A-Za-z0-9]){4,})
断言必须存在字母数字或点(?=.[A-Za-z.0-9])
- 仅当满足上述所有条件时,才匹配相应的字符串
^(?!(?:[^.\n]*\.){4,})(?!(?:[^A-Za-z0-9\n]*[A-Za-z0-9]){4,})(?=.*[A-Za-z.0-9]).*$
说明:
断言字符串中不存在4个或更多点(?!(?:[^.\n]*\){4,})
声明字符串中不存在4个或更多字母数字字符(?!(?:[^A-Za-z0-9\n]*[A-Za-z0-9]){4,})
断言必须存在字母数字或点(?=.[A-Za-z.0-9])
- 仅当满足上述所有条件时,才匹配相应的字符串