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

时间:2017-01-17 14:53:23

标签: javascript forms validation form-fields

我尝试在单个输入字段中使用以下代码进行全名验证,文本之间有空格(第一个和第二个名称之间的空格)。但由于某些原因,我无法使其发挥作用!请你们好好看一下吗?

这是代码:

<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/

提前致谢。

2 个答案:

答案 0 :(得分:0)

  

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

也许这个正则表达式可以帮到你。 你应该先调整价值。

答案 1 :(得分:0)

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ö"));

ONLY 匹配大写字母的字母。它不会使用特殊字符验证姓名:“JóhnDoe”,“JohnDüstre”......