Regrex错误现在能够搞清楚

时间:2018-03-11 16:37:22

标签: javascript html5

如何在javascript中实现这一点!

var re =([0-9]+\/[0-9]+)\+([0-9]+\/[0-9]+); 
var str="1/2,3/4"; 
str.match(re); 

显示错误!我想只允许两个'/'输入字段接受分数1 / 2,4 / 6,不允许下一个分数!我可以在HTML5中使用模式

3 个答案:

答案 0 :(得分:0)

var re = new Regex('[0-9]+\/[0-9]+)\+([0-9]+\/[0-9]+'); 
var str="1/2,3/4"; 
str.match(re);

or

str.match(/[0-9]+\/[0-9]+)\+([0-9]+\/[0-9]+/)

请按照参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp

进行操作

答案 1 :(得分:0)

这是一个更好的正则表达式:



let re  = /([0-9]+\/[0-9]+)/g; 
let str = "1/2,3/4";

let matches = str.match(re);

if (matches === null) {
    console.log('No matches');
} else {
    console.log(`Found ${matches.length} matches`);
}




这将检测字符串中任何位置的分数,然后您可以使用matches.length来测试输入的分数。

答案 2 :(得分:0)

为什么你需要regex?看起来你正试图获取,周围的部分,你会得到一个包含char ,周围部分的数组。

您可以将String.prototype.split与char ,一起使用。



const str = "1/2,3/4";
console.log(str.split(','))