javascript - 带点的正则表达式 Javascript 字母,不在开头或结尾

标签 javascript regex

起亚奥拉, 我试图证明一个字符串是否不为空并且使用的字符只是 A-Za-z 和点。 这不是很复杂,可以用这个来完成:

var str = "Aj.fwfw.MMf";
var regex = new RegExp("/^[a-zA-Z.]+$/");
if(str.match(regex)) { }

我的问题是,我不想在开头、结尾或一行中有多个点。 所以诸如“.fshdfhUUhd.d”、“jjf”之类的东西。和“fff..gg”是被禁止的。

有人知道怎么解决吗?我想把它放在一个正则表达式中,但如果这不可能,那么它也可以更多,在 if 闭包中与 && 结合。

最佳答案

使用

var regex = /^[a-zA-Z]+(?:\.[a-zA-Z]+)*$/;

参见 regex demo .

详细信息:

  • ^ - 字符串的开始
  • [a-zA-Z]+ - 一个或多个字母
  • (?:\.[a-zA-Z]+)* - 0+ 个序列:
    • \. - 一个点
    • [a-zA-Z]+ - 一个或多个字母
  • $ - 字符串结尾。

关于javascript - 带点的正则表达式 Javascript 字母,不在开头或结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42593876/

相关文章:

javascript - 为什么减少 X 长度的初始化数组不起作用?

php - 使用正则表达式 php 获取嵌套大括号之间的值

正则表达式 : validating a double/float

java - 使用Java String split时出错

Unicode 表情符号的 JavaScript 正则表达式

python - 如何在Python中打破pandas数据框,其中行包含</s> </s>

javascript - 通过 Javascript 使用网页抓取时,只能在出现用户激活错误时显示文件选择器对话框

Javascript Promise 函数样式

php - 重定向前回显 Javascript 警报,usleep(2000000)? - PHP 代码点火器

javascript - 如何在没有延迟反模式的情况下将 jQuery $.ajax 调用转换为 Bluebird promise