验证表单中的全名输入我做错了什么?

What am I doing wrong to validate a full name input in a form?

我尝试使用下面的代码在单个输入字段中使用space进行全名验证(名字和名字之间的 space)。但是由于某些原因我无法让它工作!请大家看看好吗?

这是代码:

<script>
  lp.jQuery(function($) {
  
    var ruleID = 'fullNameValid';
    var field = 'full_name';
    var message = 'Please enter a valid full name';
  
    var rules = module.lp.form.data.validationRules[field];
  
    $.validator.addMethod(ruleID, function(value, field) {
      var valid = /^[a-zA-Z ]$/.test(value);
      return valid || (!rules.required && !value);
    }, message);
  
    rules[ruleID] = true;
  
  });
</script>
我也尝试过使用这些选项:

1.... var valid = /^[a-zA-Z ]$/.test(value);
2.... var valid = /^[a-zA-Z/s]$/.test(value);
3.... var valid = /^[a-zA-Z ]+$/.test(value);
4.... var valid = /^[a-zA-Z/s]+$/.test(value);
5.... var valid = /^([a-zA-Z ])$/.test(value));
6.... var valid = /^([a-zA-Z/s])$/.test(value));
7.... var valid = /^([a-zA-Z ]+)$/.test(value));
8.... var valid = /^([a-zA-Z/s]+)$/.test(value));

但是验证不起作用!我做错了什么?

这是我的页面:http://unbouncepages.com/pradaxa-one/

提前致谢。

var valid = /^[a-z]+ [a-z]+$/i

也许这个正则表达式可以帮助你。 你应该首先 trim 这个值。

console.log(/^([a-zA-Z]+ [a-zA-Z]+)$/.test("John     Doe"));
console.log(/^([a-zA-Z]+ [a-zA-Z]+)$/.test("John Doe"));
console.log(/^([a-zA-Z]+ [a-zA-Z]+)$/.test("Jóhn Doe"));
console.log(/^([a-zA-Z]+ [a-zA-Z]+)$/.test("John Dö"));

匹配大小写字母表。它不会验证具有特殊字符的名称,如:"Jóhn Doe"、"John Düstre"...