JS 正则表达式 - 允许双连字符
JS Regex - allow double hyphen
我有下面的正则表达式来对用户输入进行一些验证。
^'s{0}$|^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|'b-){0,61}[0-9A-Za-z])?(?:'.[0-9A-Za-z](?:(?:[0-9A-Za-z]|'b-){0,61}[0-9A-Za-z])?)*'.?$
用户输入的格式为 myInvoices--2015Jan12--04-10-11
但是,上面的正则表达式只允许带有 1 个连字符/破折号的名称:myInvoices-2015Jan12-04-10-11 而不是双破折号。
有人可以告诉我如何允许用户输入双破折号吗?
谢谢
^'s{0}$|^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|'b-{1,2}){0,61}[0-9A-Za-z])?(?:'.[0-9A-Za-z](?:(?:[0-9A-Za-z]|'b-{1,2}){0,61}[0-9A-Za-z])?)*'.?$
我已在您的-
中添加了{1,2}
以允许一两个破折号
您只需在每个当前连字符之后添加-?
,即可选的连字符。所以'b-
变得'b--?
:
^'s{0}$|^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|'b--?){0,61}[0-9A-Za-z])?(?:'.[0-9A-Za-z](?:(?:[0-9A-Za-z]|'b--?){0,61}[0-9A-Za-z])?)*'.?$
这与您的示例输入相匹配
相关文章:
- 如何将单词(包括单词)与连字符匹配
- 删除图形和数字之间的连字符(-)符号
- JQuery根据连字符前的首字母对列表进行排序
- 如何替换javascript字符串中的前三个连字符
- 带有连字符的 Jquery 表排序器编号
- Javascript将所有文本框值更改为连字符
- regex中连字符的这种用法有效吗
- 使用连字符引用对象的属性名称
- 用连字符分隔匹配值
- 跳过用户输入的文本字符串中的特殊字符,并在 Javascript 中的每个单词后添加连字符
- 为什么不'我的javascript函数允许点,但允许连字符
- 如何防止电子邮件地址的css自动连字符
- 在数组中的偶数之间插入连字符
- JS Regex只允许数字、分号和连字符
- Javascript正则表达式,返回连字符和空格后面的数字
- jQuery只允许使用数字、字母和连字符
- e.减号连字符的哪个键代码已更改
- 在javascript中组合使用连字符连接的两个字符串
- JS 正则表达式 - 允许双连字符
- 防止双连字符/撇号的正则表达式