用字母数字,空格和标点符号匹配字符串的正则表达式

时间:2011-08-29 17:17:22

标签: javascript regex

我需要一个正则表达式来匹配包含字母,数字,空格和一些简单标点符号(.,!"'/$)的字符串。我有^[A-Za-z0-9 _]*[A-Za-z0-9][A-Za-z0-9 _]*$,它适用于字母数字和空格,但不适用于标点符号。非常感谢帮助。

3 个答案:

答案 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>