我需要一个正则表达式来匹配包含字母,数字,空格和一些简单标点符号(.,!"'/$
)的字符串。我有^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$
,它适用于字母数字和空格,但不适用于标点符号。非常感谢帮助。
答案 0 :(得分:30)
只需在类中添加标点符号和其他字符(在方括号内):
[A-Za-z0-9 _.,!"'/$]*
匹配包含空格的每个字符串,_,字母数字,逗号,!,“,$,... 在添加一些特殊字符时要注意,也许你需要逃避它们:more info here
答案 1 :(得分:2)
假设你的正则表达式中字符串中必须至少有一个字母数字字符,那么我建议如下:
/^(?=.*[A-Z0-9])[\w.,!"'\/$ ]+$/i
(?=.*[A-Z0-9])
前瞻检查是否存在一个ASCII字母或数字; nest字符类包含所有ASCII字母数字,包括下划线(\w
)和你提到的其余标点字符。斜杠需要被转义,因为它也被用作正则表达式分隔符。 /i
修饰符使正则表达式不区分大小写。
答案 2 :(得分:1)
<script type="text/javascript">
check("hello dfdf asdjfnbusaobfdoad fsdihfishadio fhsdhf iohdhf");
function check(data){
var patren=/^[A-Za-z0-9\s]+$/;
if(!(patren.test(data))) {
alert('Input is not alphanumeric');
return false;
}
alert(data + " is good");
}
</script>