Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2145
  • Last Modified:

Regular expression javascript - validate name of company with accents/others

Hello everyone!


I need a regex in javascript that can perform a validation of a company name.

I curently have " /^[A-Za-z0-9 ]{2,80}$/ ";

But this won't accept my country accents or spaces or special characters. Some examples of names that should accept:

-João Company
-Leão@
-édel Às
-4&you
-nº2

Also, it should check if it has at least 2 characters and not filled with whitespaces.

Basicly it allows any character but should not be filled with whitespaces only and should have at least 2 characters.

Thank you
0
joao_c
Asked:
joao_c
  • 3
  • 3
1 Solution
 
acbxyzCommented:
How about this:

companyname.match(/\S.{0,78}\S/)

Open in new window


\S matches for everything expect whitespaces.

If you trim your companyname using this command before:
companyname = companyname.replace(/^\s+|\s+$/g,"");

Open in new window

0
 
joao_cAuthor Commented:
thanks for the reply.

I am using the .test method, how can i store what u suggested   in a variable(var inNameReg)?

$('form').on('submit', function() {

	var info  = $('#infoSubmit');
	var inName = $('input#name-of-company');
	var inNif = $('input#nif');
	var inNameReg = /^[A-Za-z0-9 ]{2,80}$/;

        if ( !inNameReg.test(inName.val()) ) {  

        	info.text('please enter a valid name');
        	inName.addClass('wrongInput');
        	inName.focus();
        
        } else {
(...)

Open in new window

0
 
acbxyzCommented:
I never used regex.test(value), but it should work the same way you wrote.

var inNameReg = /\S.{0,78}\S/;

I can't say anything about inName.val() because it is part of a js-framework I don't know or use. I'd use:
inName.value.replace(/^\s+|\s+$/g, '');
if (!inName.value.match(/^\S.{0,78}\S$/) {
  alert('please enter a valid name');
}

Open in new window

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
joao_cAuthor Commented:
Thanks, but what  {0,78} means? I see that I need to enter at least to characters and that's fine. But I also want to limit to 60 characters. I see the limit is not working in the current regex:

var inNameReg = /\S.{0,78}\S/;

Open in new window

0
 
acbxyzCommented:
This regex limits to 80 characters like your first one. The \S are two characters, adding the number in the brackets gives the maximum length.
If you want to limit to 60 characters the 78 must be a 58 (60-2).
To have this working, you need ^ and $ around your regex => /^\S.{0,58}\S$/. I missed those the first time, sorry.
0
 
joao_cAuthor Commented:
Thanks, it works perfect.
0

Featured Post

[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now