js正则表达式的问题:要求一个字符串只能包含数字、大小写字母、“-”和“;”,而且结尾必须是“;”
展开全部
按照你的要求,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程序如下
<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 因为有双减号
展开全部
Matcher m=Pattern.compile("[A-Za-z0-9\-]*").matcher(text);
允许空字符串就最后用*.不允许就+
允许空字符串就最后用*.不允许就+
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询