繁体   English   中英

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

[英]A regex to match strings with alphanumeric, spaces and punctuation

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

只需在类中添加标点符号和其他字符(在方括号内):

[A-Za-z0-9 _.,!"'/$]*

这匹配包含空格的每个字符串,_,字母数字,逗号,!,“,$,...添加一些特殊字符时注意,也许你需要逃避它们: 更多信息在这里

假设您的正则表达式中字符串中必须至少包含一个字母数字字符,那么我建议如下:

/^(?=.*[A-Z0-9])[\w.,!"'\/$ ]+$/i

(?=.*[A-Z0-9])预测检查是否存在一个ASCII字母或数字; nest字符类包含所有ASCII字母数字,包括下划线( \\w )和你提到的其余标点字符。 斜杠需要被转义,因为它也被用作正则表达式分隔符。 /i修饰符使正则表达式不区分大小写。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM