2011-11-11 43 views
8

thể trùng lặp:
How can i use preg_match in jQuery?Tương đương với JavaScript của preg_match là gì?

các jquery tương đương với tính năng PHP preg_match là gì? Trong PHP, nó sẽ là:

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

Kiểm tra xem chuỗi có gì khác ngoài chữ cái và số. Tôi muốn thêm một số xác thực hai mặt của khách hàng vào trang web của tôi, nhưng tôi đã xem xét và xem xét và không thể tìm thấy tương đương jQuery về điều này. Cảm ơn.

+1

Vui lòng làm việc về cách chọn tiêu đề hữu ích. –

Trả lời

3

không jQuery nhưng Javascript

var myStr = "something"; 

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

hoặc cho rõ ràng

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

regEx.test(myStr) 

Phương pháp kiểm tra là một phần của đối tượng RegEx ... Dưới đây là một số tài liệu tham khảo

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

+0

Một số vấn đề ở đây. Đầu tiên '.test()' chỉ là một phương thức của một đối tượng expression thông thường, không phải là một chuỗi. Thứ hai, bạn không đặt dấu ngoặc kép xung quanh cụm từ thông dụng khi sử dụng ký pháp '/ xxx /'. Thứ ba, bạn có 'myStr' ở một nơi trong' mystring' trong một cái khác. – jfriend00

+0

@ jfriend00 Bạn nên làm mới màn hình trong khung thời gian 5 phút mà mỗi người dùng nhận được khi hoàn thành câu trả lời của họ. –

+0

Tôi đã trả lời những gì ban đầu bạn viết làm câu trả lời. Nếu bạn không muốn nhận xét như thế này, câu trả lời ban đầu của bạn không được chứa quá nhiều lỗi vì nó thậm chí không gần đúng. – jfriend00

8

Trong JavaScript đơn giản (không cần jQuery cho điều này), bạn sẽ chỉ sử dụng t ông .match() phương pháp của đối tượng string đó sẽ trở lại null nếu không có trận đấu và một mảng nếu có các trận đấu:

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

Nếu bạn muốn kết hợp vào một chuỗi, bạn có thể làm điều đó với JS vani:

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

Nếu bạn đang cố gắng để làm điều đó trên một chọn và sử dụng jQuery, bạn có thể sử dụng:

$("div:match('/[^a-zA-Z0-9]/')") 
Các vấn đề liên quan