我想要一个防止空白的正则表达式,只允许带标点符号的字母和数字(西班牙语)。下面的正则表达式工作得很好,但是它不允许标点符号。
^[a-zA-Z0-9_]+( [a-zA-Z0-9_]+)*$
例如,当使用这个正则表达式时,“Hola como estas”是可以的,但是“Hola,como estas?”不匹配。
如何将其调整为标点符号?
使用\W
代替空格,并在末尾添加\W*
:
/^[a-zA-Z0-9_]+(?:\W+[a-zA-Z0-9_]+)*\W*$/
见证据
解释
EXPLANATION
--------------------------------------------------------------------------------
^ the beginning of the string
--------------------------------------------------------------------------------
[a-zA-Z0-9_]+ any character of: 'a' to 'z', 'A' to 'Z',
'0' to '9', '_' (1 or more times (matching
the most amount possible))
--------------------------------------------------------------------------------
(?: group, but do not capture (0 or more times
(matching the most amount possible)):
--------------------------------------------------------------------------------
\W+ non-word characters (all but a-z, A-Z, 0-
9, _) (1 or more times (matching the
most amount possible))
--------------------------------------------------------------------------------
[a-zA-Z0-9_]+ any character of: 'a' to 'z', 'A' to
'Z', '0' to '9', '_' (1 or more times
(matching the most amount possible))
--------------------------------------------------------------------------------
)* end of grouping
--------------------------------------------------------------------------------
\W* non-word characters (all but a-z, A-Z, 0-
9, _) (0 or more times (matching the most
amount possible))
--------------------------------------------------------------------------------
$ before an optional \n, and the end of the
string
我在ASP.NET应用程序中有一个textbox,我需要使用正则表达式来验证用户输入字符串。要求字符串的连字符总数只能为一个。 匹配项: null 测试--您好 -测试- 测试-您好--
我想删除前导
我想允许Joi在表单的标题字段中允许空格/空白。 明天和裘德一起工作。 也应该被允许 晨间漫步 此时,只有最后一个验证为真。以下是我的joi验证: 我添加了正则表达式,但没有结果。 什么是正确的方式?
问题内容: 允许数字和点的正则表达式是什么?关于\D这只允许数字,但不允许一个点,我需要它允许数字和一个点,这是一个浮点值,当我在中执行函数时需要有效,但我需要的只是正则表达式那只允许我需要它允许的。 这将是JavaScriptreplace函数的本机语言,用于删除非数字和其他符号(点除外)。 问题答案: 如果您想允许1和1.2: 如果您希望允许,和: 如果只允许1.2(仅浮动): \d允许位数(
我正在寻找一个,它可以防止特殊字符,并且只允许字母、数字、破折号(-)、下划线(_)和空格。 这个正则表达式工作得很好,但是它不允许单词之间有空格。 例如,如果输入,我得到我定义的自定义错误。我如何调整这个注册,除了字母,数字,破折号和下划线之外,还允许单词之间的空间。
我有以下模式来验证字符串 但在这里,它也不接受两个字符串之间的空间。有人能告诉我在上面的模式中我必须做什么改变,以便在两个字符串之间留出空间吗?但是字符串的开头和结尾不应该允许有空格。