2011-11-11 87 views
8

可能重复:
How can i use preg_match in jQuery?什么是preg_match的JavaScript等价物?

什么是jQuery的相当于PHP的preg_match功能? 在PHP这将是:

preg_match('/[^a-zA-Z0-9]/', $str); 

,检查如果字符串不是字母和数字的其他任何东西。 我想添加一些客户端验证到我的网站,但我看了看,并且无法完全找到与此相当的jQuery。 谢谢。

+1

请选择实用的标题工作。 – 2011-11-11 00:35:22

回答

3

不jQuery的但JavaScript的

var myStr = "something"; 

/[^a-zA-Z0-9]/.test(myStr) // will return true or false. 

或为了清楚

var regEx=/[^a-zA-Z0-9]/; 

regEx.test(myStr) 

的测试方法是正则表达式对象的一部分...下面是一些参考

http://www.w3schools.com/jsref/jsref_regexp_test.asp

+0

这里有几个问题。首先'.test()'只是一个正则表达式对象的方法,而不是一个字符串。其次,在使用'/ xxx /'表示法时,不要在正则表达式附近加引号。第三,你在另一个'mystring'中的一个地方有'myStr'。 – jfriend00

+0

@ jfriend00您应该在每位用户完成他们的答案后5分钟的时间内刷新屏幕。 –

+0

我回应了你最初写作的答案。如果你不想这样的评论,你的原始答案不应该包含太多的错误,因为它甚至没有接近正确。 – jfriend00

8

在普通的JavaScript中(没有这个需要jQuery),你只需要使用t他的string对象的.match()方法,该方法将返回null如果没有匹配和数组,如果有匹配:

var str = "myteststring"; 
if (str.match(/[^a-zA-Z0-9]/)) { 
    // contains illegal characters 
} 
1

如果你想匹配的字符串,可以用香草JS做到这一点:

var str = "here's my string"; 
var matches = str.match('/[^a-zA-Z0-9]/'); 

如果你正在尝试做一个选择,并且使用jQuery,您可以使用:

$("div:match('/[^a-zA-Z0-9]/')") 
相关问题