Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
419 views
in Technique[技术] by (71.8m points)

javascript - Include the "minus-sign" into this regular expression, how?

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

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

1 Reply

0 votes
by (71.8m points)

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]+$/;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...