js正则表达式怎么写只包含纯英文或纯英文+空格或纯英文+小数点+空格的正则

js正则表达式怎么写只包含纯英文或纯英文+空格或纯英文+小数点+空格的正则,我自己实现了,但是有bug,必须要有.才算成功

代码

var pattern = /^[a-zA-Z]*(\.[a-zA-Z])([a-zA-Z]\.)?$/;
/^(?![^a-zA-Z]+$)[a-zA-Z\s\.]+$/

['edfdg', 'sdfd.sg', 'sdf df.s', 'sdf4dgf', '.', 'df45d.f', ' '].map(i => /^(?![^a-zA-Z]+$)[a-zA-Z\s\.]+$/.test(i))
// [true, true, true, false, false, false, false]

/^[a-zA-Z]+(?:.?|\s)*$/