javascript当中反义字符用法
反义字符
\W 匹配任意非字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
^ 取反(^写在[]里面的话,就代表排除的意思,一般来讲,^ 匹配字符串的开始)
用法示例:
1、[^abc]匹配除了abc这几个字母以外的任意字符
2、\S+匹配不包含空白符的字符串。
字符转义
如果查找预定义字符集本身的话我们没法指定它们,因为它们会被解释成特殊的意思。这时你就必须使用\来取消这些字符的特殊意义。
. 用\.
* 用\*
\本身 用\\
例如:kkk\ .com匹配kkk.com
D:\\Win匹配D:\Win
重复
* 重复零次或更多次(任意次)
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
例如:
中国的手机号:^18\d{9}|15\d{9} $
QQ号(以非0开头,共5位到9位数字):^[1-9]\d{4,8}$
电子邮箱:^[0-9a-zA-Z](\w)+@(\w)+(\.)(cn|com|net|gov|edu|com(\.)cn)$
例 3.1.1
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<script>
/* 马克-to-win:String.match() (Method)
Searches a string using a regular expression and returns the matches in an array.
Property/method value type: Array object
JavaScript syntax: - myObject.match(aPattern)
*/
var r, reg;
// 声明变量。g:global,如果没有g,只搞一个。 要是g的话, 搞所有的。
var ss = "all over the world the heavy rain in Spain falls mainly in the plain";
reg = /ain/ig;
// 创建正则表达式模式。
r = ss.match(reg);
// 尝试去匹配搜索字符串。
document.write(r[0] + " " + r[1] + " " + r.length + "<br>");
var s1 = "all over the world the heavy rain in Spain falls mainly in the plain";
re1 = /qixy/ig;
// 创建正则表达式模式。
r1 = s1.match(re1);
// 尝试去匹配搜索字符串。
document.write("r1 is" + r1);
if (!r1) alert("r1 is null");
var ss = " The dfsdf the fsdgl with the gdf.gdfhg the fielder caught the ball with the glove.";
var req = /the/g;
var r = ss.replace(req, "A");
document.write("r is" + r)
</script>
例 3.1.2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<SCRIPT LANGUAGE="JavaScript">
<!--
function check()
{
var email = document.regFo.email.value;
/* 马克-to-win \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。* 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。\. means 原形. a typical value is z_a@hx.com.cn
*/
var regemail = /^[0-9a-zA-Z](\w)*@(\w)+(\.)(com|cn|net|gov|edu|com(\.)cn)$/;
if (!email.match(regemail))
{
alert("email格式不对!")
// document.regForm.email.value="";
return false;
}
return true;
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM name="regFo" METHOD=POST ACTION="abc.jsp" οnsubmit="return check()">
<TABLE>
<TR>
<TD>email</TD>
<TD><INPUT TYPE="text" NAME="email" style="width:150px"></TD>
</TR>
<TR>
<TD><INPUT TYPE="submit" value="提交"></TD>
<TD><INPUT TYPE="reset"></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
更多内容请见原文,文章转载自:https://blog.csdn.net/qq_43650923/article/details/102213772
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义