![](/img/trans.png)
[英]Regex to check if string contains Alphanumeric Characters and Spaces only - javascript
[英]REGEX : accept only alphanumeric characters and spaces except the spaces at the begining or ending of expression
我需要实现只接受字母数字字符和空格的正则表达式,表达式开头或结尾的空格除外。
' aaaa978aa' ===> fail
'aaaaaa ' ===> fail
'aaaaaaaaAAAa' ===> match
'aaaaaaa aaa' ===> match
'68776 67576' ===> match
'aAAAa756Gaaa' ===> match
在不区分大小写的模式下,我会将正则表达式编写如下:
^[a-z0-9](?:[a-z0-9 ]*[a-z0-9])?$
这需要一个前导字母数字字符,以及中间可选的字母或空格,也以字母数字字符结尾,至少对于长度为 2 个或更多字符的情况。
示例代码:
var inputs = [" aaaa978aa", "aaaaaa ", "aaaaaaaaAAAa", "aaaaaaa aaa", "68776 67576", "aAAAa756Gaaa"]; inputs.forEach(x => console.log(x + (/^[a-z0-9](?:[a-z0-9 ]*[a-z0-9])?$/i.test(x)? ": match": ": fail")));
尝试这个:
^\w+(?:[ \t]+)?\w+$
^
: 在行首断言 position
\w+
:匹配任何单词字符(相当于 [a-zA-Z0-9_]),一次到无限次。
(?:[ \t]+)?
: 非捕获组,匹配空格和制表符, ?
确保在 0 到 1 次之间匹配前一个标记。
$
:在行尾断言 position
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.