javascript - 将连字符包含到这个正则表达式中,怎么样?

标签 javascript html regex security validation

我有这个正则表达式:

  var alphaExp = /^[a-zA-ZåäöÅÄÖ\s]+$/;

这是用于表单验证中的名称字段。

我需要让输入像“Anna-nicole”这样的名字成为可能(注意连字符)。 目前,连字符会导致错误。

我需要重新制作这个正则表达式,以便名称中可以包含一个连字符;最好我应该使名称也不能以连字符开头或以连字符结尾。只允许在“单词或名称”之间使用连字符。

有人知道怎么做吗?

顺便说一句,它是 JavaScript。

最佳答案

您必须使用反斜杠转义减号。

var alphaExp = /^[a-zA-ZåäöÅÄÖ\s\-]+$/;

要阻止他们在开始或结束时使用它,请尝试以下操作:

var alphaExp = /^[a-zA-ZåäöÅÄÖ\s]+[a-zA-ZåäöÅÄÖ\s\-]*[a-zA-ZåäöÅÄÖ\s]+$/;

关于javascript - 将连字符包含到这个正则表达式中,怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009817/

相关文章:

javascript - 处理 API 响应中缺失的属性

html - 响应内容拉伸(stretch)

C# 正则表达式匹配模式 'n/n/n' 其中 n 只是数字

Javascript:正则表达式从字符串中获取值

javascript - 基于对象创建数据集(javascript)

javascript - 如何使用 twitter bootstrap 有选择地堆叠列

javascript - 有没有办法通过分配一个属性来自动创建一个javascript对象?

javascript - 无法用js调用函数

javascript - 如何使用数组获取选择框中的值

javascript - 用 JavaScript 替换字符串中所有出现的地方