js正则怎么判断一个字符串里必须包含大写字母,小写字母,数字,特殊字符? 看清楚了,是必须包含,求教
13个回答
展开全部
(1)字符类;
(2)数量限定符;
(3)位置限定符;
(4)特殊符号。
注意:正则表达式基本是与语言无关的,我们可以结合语言/工具与正则表达式进行文本处理,在后面的博客中,我将使用grep来进行验证。(grep是一款Linux下按行匹配文本的工具,如下,使我们常使用的两个选项)
-E:使用扩展正则匹配;
--color:将匹配得到的内容进行语法高亮。
定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。
定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界
(2)数量限定符;
(3)位置限定符;
(4)特殊符号。
注意:正则表达式基本是与语言无关的,我们可以结合语言/工具与正则表达式进行文本处理,在后面的博客中,我将使用grep来进行验证。(grep是一款Linux下按行匹配文本的工具,如下,使我们常使用的两个选项)
-E:使用扩展正则匹配;
--color:将匹配得到的内容进行语法高亮。
定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。
定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照你的要求,js正则表达式为 /^[0-9A-Za-z\-;]+\;$/g
我给你个结尾不是分号的javascript程序的例子,你看看吧
<html>
<head>
<script type=text/javascript>
var str='12345Aa-67890Bb;a';
var regex=/^[0-9A-Za-z\-;]+\;$/g
var a=regex.test(str);
alert(a);
</script>
</head>
<body>
</body>
</html>
运行结果
false
追问 : 谢谢你。其实还要再加两个条件,你可以再看一下吗? 一,“-”和“;”不能在开头; 二,两个“-”或两个“;”不能连在一起,“-”和“;”也不能挨在一起。
追答 : 按照你的要求,js正则表达式为 /^[^\-;]((?!(\-\-)|(\;\;)|(\-\;)|(\;\-))[0-9A-Za-z\-;])+\;$/g完整的javascript程序如下123456789101112<html><head><script type=text/javascript> var str='12345Aa--67890Bb;'; var regex=/^[^\-;]((?!(\-\-)|(\;\;)|(\-\;)|(\;\-))[0-9A-Za-z\-;])+\;$/g var a=regex.test(str); alert(a);</script></head><body></body></html>运行结果false
我给你个结尾不是分号的javascript程序的例子,你看看吧
<html>
<head>
<script type=text/javascript>
var str='12345Aa-67890Bb;a';
var regex=/^[0-9A-Za-z\-;]+\;$/g
var a=regex.test(str);
alert(a);
</script>
</head>
<body>
</body>
</html>
运行结果
false
追问 : 谢谢你。其实还要再加两个条件,你可以再看一下吗? 一,“-”和“;”不能在开头; 二,两个“-”或两个“;”不能连在一起,“-”和“;”也不能挨在一起。
追答 : 按照你的要求,js正则表达式为 /^[^\-;]((?!(\-\-)|(\;\;)|(\-\;)|(\;\-))[0-9A-Za-z\-;])+\;$/g完整的javascript程序如下123456789101112<html><head><script type=text/javascript> var str='12345Aa--67890Bb;'; var regex=/^[^\-;]((?!(\-\-)|(\;\;)|(\-\;)|(\;\-))[0-9A-Za-z\-;])+\;$/g var a=regex.test(str); alert(a);</script></head><body></body></html>运行结果false
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我们认识以后,他问我:“薛天,我给你写15个数字,你能在一秒钟内记住吗?”我瞪着不解的眼睛看着他,并且疑惑地问:“一秒钟记住?”“是的。”他说。我说:“那你写15个数字出来,并且做给我看看,好不好?”他说:“好。你等着。”说完,他就一口气写出“816449362516941”这15个数字。写完,他就叫我仔细看,并且说:“你是第一次,我可以给你两分钟时间,好不好?”我说:“好!我试一试。”接着我就把眼睛睁得大大的,飞快地在脑子里一遍又一遍地刻下这些数字。心想,凭我的聪明,我一定不要两分钟就能记下。心里想着,脑子在飞快地盘算,眼睛不停地眨着,还一面不停地看着时间。我一扭头,一看墙上的挂钟,已经一分钟十秒了,我就一挺胸脯说:“我会了!”老师看着我问:“真的?”“真的。”我一拍胸脯。“好!我要当场检查。”我就迅速拿起笔来,一面回想,一面写,当写完第七个数字3时,就再也想不出了。这时,老师拿出红笔继续填上“62516941”。我一对照,一字不差。我不好意思地低下头,红着脸小声问:“你是怎么记住啊?”“想知道吗?”他问。我说:“想知道,您能告诉我吗?”他说:“好吧,下面你按我的要求做。”“怎么做?我全听您的。”我说。他说:“你先把这15个数字前面的15个数按顺序每两个分成一组,再看看能发现有什么奥秘没有。”我照他说的做了,又仔细看了几遍,好像有点什么眉目,但又说不明白,急得我直抓脑袋。老师在一旁忍住笑,又过了大约两分钟,才开口说:“我先提示你,先说前面六个数字,后面的'你自己想,好不好?”我说:“好吧”。老师说:“你看,‘81’是不是9x9的积,‘64’是不是8x8的积,‘49’是不是……”还没等他说完,我忽然一拍脑门:“呵呵,我明白了!”“49就是7x7的积,以下是一样的……”
我高兴得手舞足蹈,老师拍拍我的脑袋:“真聪明!”我听了,高兴得在屋里尖叫起来。妈妈在里屋赶紧出来问:“薛天,你干嘛呢?”我说:“我今天太开心了!”妈妈莫名其妙地问:“什么事让你乐成这个样子?”我信心满满地说:“我学会了一秒钟巧记15个数字的绝招了!”
“啊,原来是这样……”
我高兴得手舞足蹈,老师拍拍我的脑袋:“真聪明!”我听了,高兴得在屋里尖叫起来。妈妈在里屋赶紧出来问:“薛天,你干嘛呢?”我说:“我今天太开心了!”妈妈莫名其妙地问:“什么事让你乐成这个样子?”我信心满满地说:“我学会了一秒钟巧记15个数字的绝招了!”
“啊,原来是这样……”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
匹配数字 \d匹配任何一个数字,如果要匹配单个特定的数字可以可以使用自身。
匹配一个大写字母 [A-Z]
匹配一个小写字母 [a-z]
如果要匹配特殊的符号就要看你匹配那些了,
像\ [ ] ( ) * .^ $ - 等是正则表达式规定的保留字符(称为元字符),有其特定含义,如果匹配这些应该加上\进行转义。如匹配一个*,可以这样写\*
匹配元字符之外的字符如%等,直接写%就可以了。
匹配一个大写字母 [A-Z]
匹配一个小写字母 [a-z]
如果要匹配特殊的符号就要看你匹配那些了,
像\ [ ] ( ) * .^ $ - 等是正则表达式规定的保留字符(称为元字符),有其特定含义,如果匹配这些应该加上\进行转义。如匹配一个*,可以这样写\*
匹配元字符之外的字符如%等,直接写%就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
貌似不能用一个正则来实现,你可以这样做。
if (/[a-z]/.test(str) && /[A-Z]/.test(str) && /[0-9]/.test(str) && /[-\._]/.test(str)) {
'right
}
if (/[a-z]/.test(str) && /[A-Z]/.test(str) && /[0-9]/.test(str) && /[-\._]/.test(str)) {
'right
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询