2017-01-17 30 views
0

Я попытался использовать приведенный ниже код для Проверка полного имени в одном поле ввода с пробелом между текстами (пробел между первым и вторым именем). Но по некоторым причинам я не мог заставить его работать! Будете ли вы, пожалуйста, любезно взглянуть на него?Что я делаю неправильно, чтобы проверить ввод полного имени в форме?

Это код:

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

Спасибо заранее.

+0

У вас есть ошибки? –

+0

return valid || (! rules.required &&! value); имеет некоторую ошибку. Прочитайте это –

+2

Вы, кажется, верьте довольно многим из них: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ – Quentin

ответ

0

вар действует =/^ [а-г] + [а-г] + $/я

Может быть, это регулярное выражение может помочь вам. И сначала вы должны обрезать значение.

+0

Это будет соответствовать «Jon _ _ _ Doe». Он должен иметь только «одно пространство». Подчеркивание упоминается как пробелы – DomeTune

+0

После редактирования он по-прежнему соответствует нескольким пробелам. – DomeTune

+0

Теперь он просто соответствует одному пространству, но в качестве дополнения он соответствует вкладкам, вводит разрывы строк. Здесь вы найдете [документацию \ s] (http://www.w3schools.com/jsref/jsref_regexp_whitespace.asp) – DomeTune

-1

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» ...