2011-06-16 145 views
1

我想检查一个字符串是否包含某些字符。我打算使用正则表达式,但是我的字符串可能没有格式。如何验证字符串是否包含某些字符?

我想确保我只允许下列字符

 
1. + symbol 
2. - symbol 
3. numbers 0~9 
4. (
5.) 
6. . (dot) 
7. spaces 

+2

你什么意思,你的 “字符串不能有格式”?你究竟在做什么验证? – Eevee 2011-06-16 21:31:22

+0

当你说“可能没有格式”时,你能详细说明你的意思吗? – Dan 2011-06-16 21:32:01

+1

可能“但我不知道要在正则表达式中放置什么才能使其工作”? – Bojangles 2011-06-16 21:37:10

回答

3

此正则表达式匹配只包含这些字符的字符串:

^[+\-0-9(). ]+$ 

Working Demo

5
if (string.match('[^(). +\-0-9]')) { 
    alert("Invalid string"); 
} 
1

试试这个:

var isValid = /^[\x2B\x2D\x28\x29\x2E\s\d]+$/.test(input); 
    if(isValid) { 
     //... 

    } else { 
    //..invalid 
    } 
相关问题