命題の件は以下ですが
javascript
1
2var str="example.com/12345/12/1234/";
3console.log(str.match(/\d{5}/)[0]);
いくつか課題があります
- 5文字続かない場合どうするのか?表示しない?nullを返す?
test/1234/123/
- 6文字以上の数値の連続はどうするのか?出現する先頭から5文字なのか?別のロジックがあるのか?
test/123456/123
test/12345/67890/123
test/1234567890/123
追記
とにかく4文字以下や6文字以上はNGで、2回でてくることはないという条件で
function check(str){
var def="00000";
var r=str.match(/(?:^|[^\d]+)(\d{5})(?:[^\d]+|$)/);
return r==null?def:r[1];
}
console.log(check("123")); //NG
console.log(check("12345")); //OK
console.log(check("test/1234567/56789/123/")); //OK
console.log(check("12345/123/123")); //OK
console.log(check("test/12345/123/")); //OK
console.log(check("test/1234/123/")); //NG
console.log(check("test/123456/123/")); //NG
console.log(check("test/123/12345")); // OK
console.log(check("test/123456/123")); // NG
console.log(check("test/1234567890/123")); // NG
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/27 01:32 編集
2017/10/27 02:15
2017/10/27 06:52 編集
2017/10/27 07:00 編集
2017/10/27 07:02