根本的区别就是方法的返回值不同。
JAVA中的matches方法返回值类型是boolean类型。
String s1 = "123-12345670";
boolean result = s1.matches("\\d{3}-\\d{7}");
JS 中的match方法返回值类型是数组类型。
返回一个数组,数组的第0号元素为刚匹配到的字符串,当reg有全局标志(g选项)时,很简单,也符合我们的理解:返回所有匹配到的字符串组成的数组。这是标准数组,没有input属性,也没有index属性。返回值数组中除了匹配到的字符串没有任何其他信息。
function checkTelphone(s){
var reg = new RegExp("\\d{3}-\\d{7}");
var result = s.match(reg);
alert(result);
if(result){
return true;
}else{
return false;
}
}
不难看出,在JAVA中matches是你的String的整个字符串进行匹配,但是JS中是在你提供的字符串中找有没有匹配的部分,找到则返回匹配到的字符串。


这篇博客探讨了JAVA和JavaScript中字符串匹配方法的不同。JAVA的matches方法返回一个布尔值,判断整个字符串是否匹配指定模式;而JS的match方法返回一个数组,包含匹配到的子串。在JAVA中,matches对整个字符串进行匹配,JS则查找字符串中是否存在匹配部分。
2641

被折叠的 条评论
为什么被折叠?



