js match函数(js正则函数中test和match的区别)

本文目录
- js正则函数中test和match的区别
- js正则表达式小括号与match函数问题
- JavaScript中search和match函数的区别
- 如何用java实现javascript的match效果
- js match函数底层是for循环吗
- JS用replace替换不符合正则的内容
- JS match() 方法
- js 是否含有汉字或全部是中文函数
js正则函数中test和match的区别
test是正则表达式的方法,参数是字符串,返回值是false或true。
match是字符串的方法,参数是正则表达式,返回值是null或字符串数组。
js正则表达式小括号与match函数问题
match就是这样匹配的,第一个匹配到的内容,然后匹配到的子表达式,然后第二个匹配到的子表达式。。。
JavaScript中search和match函数的区别
string.match(str)
如果string 中有字符串str ,
则返回值是str ,或者多个str;
例如:
var str="The rain in SPAIN stays mainly in the plain";
var n=str.match(/ain/g);
//返回值 n 为:ain,ain,ain
string.search(str);
如果string 中有字符串str ,则返回值是与str匹配的起始位置;
如果没有,则返回 -1;
例如:
var str="Visit W3CSchool!";
var n=str.search("W3CSchool");
document.getElementById("demo").innerHTML=n;
//返回值n为:6
如何用java实现javascript的match效果
Java 的正则表达式用法和 JavaScript 的类似。
但是正则表达式的写法略有不同。在 Java 中正则表达式源是当中普通字符串来对待的,不需要像 JavaScript 那样用“/.../”包裹,另外,特别要注意正则表达式转义字符是双斜杠(因为在 Java 中,斜杠已是字符串的转义字符,双斜杠才代表斜杠)。
至于使用的语法,常规情况下,需要用到 Pattern 类,下面是一个例子:
import java.util.regex.Pattern; // 导入 regex 包
import java.util.regex.Matcher;
// public class ... {
Pattern p = Pattern.compile("Hello \\w"); // 编译正则表达式
Matcher m = p.matcher("Hello World"); // 开始匹配字符串
while (m.find()) { // 只要匹配则循环
String result = m.group(); // 返回匹配的子串
}
// }
但是有时候不用这么麻烦,String 类中有隐含的正则表达式匹配函数 matches() 和 split(),其中 split() 和 JavaScript 中的 match() 比较相似。下面是例子:
String s = "Hello A Hello B Hello C";
boolean bResult = s.matches("Hello "); // matches() 仅返回逻辑判断结果
String"); // split() 可返回结果子串,放在数组当中
详细用法请参考 Java 语言手册。
***隐藏网址***
***隐藏网址***
js match函数底层是for循环吗
应该不是,match参数采用正则表达式,它的底层应该是一种查找机制和遍历,这应该是浏览器为平台的机器的查找和遍历,不是我们看到那种for遍历。
JS用replace替换不符合正则的内容
要想把符合正则的数字都留下来,只需要改变Javascript的字符串函数,把replace函数改成match函数,就行了.完整的Javascript程序如下
12345《script type=text/javascript》 var str="13612345678ssss"; var num=str.match(/1\d{9}/g); alert(num);《/script》
运行结果
13612345678
JS match() 方法
js中match函数方法是使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。使用方法:
stringObj.match(rgExp)
其中stringObj是必选项。对其进行查找的 String 对象或字符串文字。
rgExp是必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。
如果js中match函数方法没有找到匹配,返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。JavaScript中match函数方法返回的数组有三个属性:input、index和lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。如果没有设置全局标志 (g),数组的0元素包含整个匹配,而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志,元素0到n中包含所有匹配。
下面的示例演示了js中match函数方法的用法:
function MatchDemo(){
var r, re; // 声明变量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/i; // 创建正则表达式模式。
r = s.match(re); // 尝试匹配搜索字符串。
return(r); // 返回第一次出现 "ain" 的地方。
}
本示例说明带 g 标志设置的js中match函数方法的用法
function MatchDemo(){
var r, re; // 声明变量。
var s = "The rain in Spain falls mainly in the plain";
re = /ain/ig; // 创建正则表达式模式。
r = s.match(re); // 尝试去匹配搜索字符串。
return(r); // 返回的数组包含了所有 "ain"
// 出现的四个匹配。
}
下面几行代码演示了字符串文字的js中match函数方法的用法。
var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");
match()方法用于从字符串中查找指定的值,本方法类似于indexOf()和lastindexOf(),不同的是它返回的是指定的值,而不是指定值在字符串中的位置。indexOf()和lastindexOf()方法返回位置数字 如果找不到返回-1。注意区分大小写
《script type="text/javascript"》
var str="Hello world!"
document.write(str.match("world") + "")
document.write(str.match("World") + "")
document.write(str.match("worlld") + "")
document.write(str.match("world!"))
《/script》
js 是否含有汉字或全部是中文函数
下面的这个函数就是判断输入的值是否含有汉字或字符:function checkFormat(str){if (escape(str).indexOf("%u")!=-1)
alert("不能含有汉字"); else if(str.match(/\D/)!=null){alert(’不能含有字母’);
} }其中,str是你在文本框中输入的值,传到此函数中,来进行判断。具体用法就是:《input name="aa" type="text" onblur="checkFormat(this.value)"》 this.value即为你输入的值。当输完以后在别的地方点一下左键即可触发本函数来判断你是否输入了汉字或字符。另外,还可以在此函数上改进一下,再加一个参数用来显示哪个属性不能为空:function checkFormat(str,name){if (escape(str).indexOf("%u")!=-1)
if(name==’phone’) { alert("电话不能含有汉字"); } else if(str.match(/\D/)!=null)
{ if(name==’phone’) { alert(’电话不能含有字母’); }

更多文章:
teammate(teammate,company,partner)
2026年10月11日 06:10
javascript arraybuffer(javascript可以把base64编码转换成二进制代码吗求示例代码!)
2026年10月11日 04:00
text函数公式(excel中round和text函数的区别是什么)
2026年10月11日 03:50
google chrome打不开(chrome浏览器打不开怎么回事 浏览器打不开的处理方法)
2026年10月11日 02:00
websocket整合springboot(Springboot整合Websocket遇到的坑)
2026年10月11日 01:40
drawerlayout(android 怎样让drawerlayout设置的侧滑菜单的内容充满屏幕)
2026年10月10日 19:20
xor四位数怎么运算(单片机怎样用C语言实现4个数字间的异或)
2026年10月10日 17:50
perl数组中最多的元素(用perl实现,得到一个数组中重复次数最多的元素)
2026年10月10日 17:00



