Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I have this regex:

  var alphaExp = /^[a-zA-Z??????s]+$/;

This is for a name-field in a form validation.

I need to make it possible to type names like this "Anna-nicole" (note the minus sign). Currently the minus sign causes error.

I need to remake this regex so that a minus sign can be included in the name; preferably I should make it so that the name also cannot start with a minus sign, or end with one. Only minus signs between "words, or names" should be allowed.

Does anybody know how to do this?

BTW, it is JavaScript.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
406 views
Welcome To Ask or Share your Answers For Others

1 Answer

You have to escape the minus sign using backslash.

var alphaExp = /^[a-zA-Z??????s-]+$/;

To stop them from using it in the beginning or the end, try something like this:

var alphaExp = /^[a-zA-Z??????s]+[a-zA-Z??????s-]*[a-zA-Z??????s]+$/;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...