字母数字和空格正则表达式,但字符串的开头和结尾没有空格

Umair Khalid |

我想编写一个正则表达式,其中可能包含字母或数字或单词之间的空格,并且长度必须在3到50之间,但不能在字符串的开头和结尾使用空格。这是我的正则表达式:

/^[^-\s]([a-z0-9]|[a-z0-9\s-]){3,50}[^-\s]+$/i

有效字符串:

uma
umair
umair K

无效的字符串:

 uma
u
um
umair 

最后一个示例有一个尾随空格。

ctwheels
^(?=.{3,50}$)[^\W_]+(?: [^\W_]+)*$
  • ^ 在字符串开头声明位置
  • (?=.{3,50}$) 正向超前确保在行尾之前存在3至50个字符
  • [^\W_]+匹配任何单词字符(_一次或多次)
  • (?: [^\W_]+)* 匹配一个空格,后跟一个或多个单词字符,任意次数
  • $ 在行末断言位置

var r = /^(?=.{3,50}$)[^\W_]+(?: [^\W_]+)*$/
var a = [
  'uma','umair','umair K', //valid
  ' uma','u','um','umair ' //invalid
]

a.forEach(function(s){
  console.log(r.test(s) ? `Valid: ${s}` : `Invalid: ${s}`)
})

备择方案:

^[^\W_][a-zA-Z\d ]{1,48}[^\W_]$

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PHP正则表达式从字符串的开头和结尾去除逗号和空格

捕获该字符串的正则表达式包含字母数字、下划线和空格,但以字母开头

正则表达式:指定“空格或字符串开头”和“空格或字符串结尾”

Nashorn和Rhino:通过空格正则表达式拆分字符串

正则表达式匹配字符串中的单词,没有开始和结尾空格

正则表达式匹配字符串以美元符号开头并包含 ( 并且没有空格或连字符

REGEX :只接受字母数字字符和空格,表达式开头或结尾的空格除外

如果搜索查询没有空格,则正则表达式匹配带有空格的字符串

javascript正则表达式,用于以正斜杠开头,后跟字母数字字符和无空格的字符串

正则表达式-匹配字符串而没有前导和尾随空格

正则表达式在开头和中间没有空格,并且只有一个空格

正则表达式查找以字母开头和结尾的字符串

正则表达式 (PHP) 匹配以字符串开头或前面有空格+数字+/+空格的所有内容

正则表达式,字符串中没有空格

正则表达式以匹配字母数字,连字符,下划线和空格字符串

正则表达式删除所有数字和特殊字符,但空格和字母

正则表达式验证带有可选空格的字母数字字符串

正则表达式确保字符串以数字开头和结尾

Ocaml上的正则表达式不匹配单个字母字符串,数字和空格?

如何通过空格分隔字符串,并使用正则表达式忽略开头和结尾的空格成单词数组?

是否不允许使用正则表达式来表示“字符串开头和结尾之间的空格”以及字符串中的特殊字符?

Javascript正则表达式-开头没有空格+中间有空格

正则表达式匹配不以空格开头或结尾的字符串

我需要一个正则表达式,它只接受一个字符串(仅包含字母和数字),并且在开始和结尾处都允许有空格,但不能在两者之间插入空格?

正则表达式查找以特定字符串开头的行中的所有空格

正则表达式可能的空格和结尾字符

正则表达式用于带字符串的前导数字和空格

如何编写正则表达式以匹配以字母开头并以数字结尾的字符串

正则表达式,允许字母数字,-,_和空格