我需要修改此功能才能正常工作。它应该限制除了字母,空格和撇号之外的所有内容。目前它仍在限制撇号。我假设模式'\ _'指的是所有特殊字符。如何在此函数中插入异常?
function NameNotNA (s) {
var pattern;
if (s.toUpperCase().indexOf('N/A') != -1){
//console.warn('failed in n/a');
return false;
}
// Eliminate possibility of digits
pattern = /\d/;
if (s.match(pattern) != null) {
//console.warn('failed in \d');
return false;
}
pattern = /\_/;
if (s.match(pattern) != null) {
//console.warn('failed in \_');
return false;
}
s = s.replace(/ /g, '');
if (s.match(/\W/) != null) {
return false;
}
return true;
}
答案 0 :(得分:0)
function nameNotNA (s) {
return s.replace(/[^\w\s']/g, '');
}
对于正则表达式,我喜欢使用this tool来准确理解正在发生的事情。另外,保持函数名称lowerCamelCase是好的,除非它是一个Class。