字母,数字和连字符的所有可能组合,其中有非连续连字符且不超过两个连续数字

时间:2017-10-08 17:42:51

标签: regex validation

我需要帮助获取验证以下内容的正则表达式:

  

字母,数字和连字符的所有可能组合,其中有非连续连字符且不超过两个连续数字。

只能使用+,*,?,|,(),[a-zA-Z],[0-9],_, - ,{a,b}。

例如,我已经能够做到以下几点:

  • 数字和字母之间的所有可能组合,其中不超过两个连续数字:[0-9]?[0-9]?(([a-zA-Z]+[0-9]?[0-9]?)*[a-zA-Z]*)*
  • 数字和连字符之间的所有可能组合,其中不超过两个连续数字和非连续连字符:[0-9]?[0-9]?(((-|_)[0-9][0-9]?)*)*(_|-)?
  • 非连续连字符的字母和连字符的所有可能组合:(-|_)?([a-zA-Z]+(-|_)?)*

感谢您的帮助!

实施例

  • ahj89_有效
  • h789_无效
  • nd79_-无效
  • _9-bh89有效
  • 8_jj-m_有效

这里有一些单元测试:https://regex101.com/r/eM8AhH/4

1 个答案:

答案 0 :(得分:0)

这个正则表达式解决了小写字母,hipns,下划线和数字的任何组合,不再有2个以下的数字,也没有两个hiphens,下划线(或这两个的组合)。

$('#example').DataTable({
    "processing": true,
    "serverSide": true,
    "ajax": {
        url: 'your url', // the url to request for.
        data: function (d) {
            // d is the default dataset of the datatables..
            // append your data items if you have any extra parameters to pass to "d". like d['sample'] = 'new data';
            return d;
        },
        type: 'GET', // default is GET and if you need you may change them to POST.
        dataType: 'json'
    };
});

修改

我没有看到不使用环顾四周的情况。

仍然我会给任何可以从中受益的人留下答案。