Javascript:正则表达式匹配任意序列中的8位数,一个字符和一个超级

时间:2015-12-08 08:45:11

标签: javascript regex

如何编写模式以匹配任何8位数,一个字符和一个连字符的序列。

我不擅长写正则表达式

我已经尝试了/([0-9]{8}([-]{1})([a-zA-Z]{1}))这个,但它只匹配特定序列,也尝试过^(([0-9]{8})([a-zA-Z]{1})([-]{1}))$ 但它没有用。

所以请帮我写正则表达式

提前致谢:)

4 个答案:

答案 0 :(得分:2)

如果数字,字母和连字符可以按任何顺序混合在一起(如1234k56-78,请使用这样的正则表达式:

(?=.*[A-Za-z])(?=.*-)(?=(?:.*\d){8}).{10}

如果数字都需要连续,那么使用这样的正则表达式:

(?=.*[A-Za-z])(?=.*-)(?=.*\d{8}).{10}

答案 1 :(得分:0)

这是我的建议:

 $url = "https://apis.live.net/v5.0/me/events";
                $fuseau = date("P"); 
                $titre = "Hello"; 
                $description = "Welcome to our world";
                $data_json = '{   "Subject": "' . $titre . '",
                                  "start_time": "2015-12-22T01:30:00-11:00",
                                  "end_time": "2015-12-22T03:00:00-11:00",
                                  "location": "Coho Vineyard and Winery, 123 Main St., Redmond WA 19532",
                                  "is_all_day_event": false,
                                  "availability": "busy",
                                  "visibility": "public"                    
                                }';

                $options = array("http" => array(   "method" => "POST",
                                                    "header" => "Authorization: Bearer $accesstoken \r\n" .
                                                                "Content-type: application/json\r\n",
                                                    "content" => $data_json                                         
                                                    ));



                $context = stream_context_create($options);  

这会使字符串排序,使匹配更容易。

答案 2 :(得分:0)

尝试类似/(\d{8}-\w)/g

的内容
  

\ d {8}匹配数字[0-9]
  量词:{8}完全8倍
   - 匹配角色 - 字面意思为   \ w匹配任何单词字符[a-zA-Z0-9 _]

如果要捕获匹配的子字符串,( )就在那里。

示例



var str = 'sdsqdsq12348567-adsqds56871239-qdsqs';
var out = str.match(/\d{8}-\w/g);

document.write('<pre>' + out.join('\n') + '</pre>');
&#13;
&#13;
&#13;

答案 3 :(得分:0)

我已经解决了这个难题和正则表达式

^(?=.*[A-Za-z])(?=.*[-])(?=(?:.*\d){8}).{10}$ 

将严格遵守所有条件

感谢您的帮助