关于公司名称正则表达式vvalidation

时间:2017-03-08 13:26:49

标签: javascript regex

我是正则表达的新手。 我有一个要求,我必须对公司名称进行验证。 我尝试了各种正则表达式,但不符合我的要求。

这是我的要求。 公司名称可以包含点,逗号,空格和(&)运算符。 点可以是或不能出现在字符串的末尾 数字也可以存在

接受标准: 欢迎 欢迎&欢迎 3Welcome

不接受的批评。 ' dot'('。')不能出现在字符串的中间。(如wel.come) '和'(&)字母不能在字符串的末尾。 没有其他特殊字符可以接受。

1 个答案:

答案 0 :(得分:0)

最简单的解决方案是将其分为两个步骤:

const validate = name => {
  if (/[^\w,. &]/.test(name)) return false; // look for any not allowed char
  if (/\..|^\./.test(name)) return false; // test for dot
  return true;
}

const data = ['test', 'company name', '.not valid', 'not .valid', 'Welcome Welcome & Welcome 3Welcome']

for (const name of data){
  console.log(`[${name}] is ${validate(name) ? '' : 'not '}valid`)
}