2011-10-25 59 views
7

Tôi đã kiểm tra tất cả qua internet nhưng thực sự không thể tìm thấy giải pháp cụ thể nào về vấn đề của mình.ASP Classic: Kiểm tra xem chuỗi chỉ bao gồm các ký tự hợp lệ

Làm cách nào để kiểm tra xem chuỗi có chỉ bao gồm các ký tự hợp lệ được khai báo không?

Tôi muốn chuỗi của tôi để chỉ bao gồm 0-9, A-Z và một-z

Vì vậy, các chuỗi oifrmf9RWGEWRG3oi4m3ofm3mklwef-qæw nên không hợp lệ vì -æ trong khi chuỗi joidsamfoiWRGWRGmoi34m3f nên có giá trị.

Tôi đã sử dụng RegExp tích hợp để tách các chuỗi, nhưng có thể chỉ kiểm tra và trả về giá trị boolean sai hoặc đúng không?

regexp của tôi:

set pw = new regexp 
pw.global = true 
pw.pattern = "[^a-zA-Z0-9]" 

newstring = pw.replace("iownfiwefnoi3w4mtl3.-34ø'3", "") 

Cảm ơn :)

+0

Có gì sai với phương thức '.Test()'? –

+0

Không biết nó tồn tại :) Cảm ơn – Behrens

Trả lời

7

Bạn có thể làm một Test mà trả về True hoặc False

If(pw.Test("string")) Then 
'' Do something 
End If 
+0

Hoạt động như một sự quyến rũ! Cảm ơn bạn! :) – Behrens

0

Bạn có thể làm một cái gì đó như:

Set match = pw.execute("iownfiwefnoi3w4mtl3.-34ø'3") 

if match.count > 0 then 
    ' your pattern matched, so it's invalid 
    badString = true 
else 
    badString = false 
end if 
2

Thử -

Dim myRegExp, FoundMatch 
Set myRegExp = New RegExp 
myRegExp.Pattern = "[^a-zA-Z0-9]" 
FoundMatch = myRegExp.Test("iownfiwefnoi3w4mtl3.-34ø'3") 

Nếu FoundMatch là đúng động cơ RegEx đã tìm thấy một nhân vật đó không phải là a-z hoặc A-Z hoặc 0-9 và chuỗi của bạn không hợp lệ.

0

Thay vì thay thế, bạn có thể xem và xem liệu có khớp với bất kỳ ký tự nào bên ngoài danh sách trắng hay không. Cú pháp chung cho mỗi cú pháp đối sánh là here

0

[a-zA-Z0-9] hoạt động ... Tôi đã thử nó đối với chuỗi của bạn tại đây http://gskinner.com/RegExr/?2u7c3 và tại đây http://regexpal.com/ ... lấy củ cà rốt ra. Tôi cũng không thể nhớ việc sử dụng vbscript động cơ regex nhưng điều đó có thể liên quan đến vấn đề của bạn. Điều này cũng hoạt động ...

\ D? \ W

+0

+1 "lấy cà rốt ra" –

+0

Tôi biết rằng chuỗi hiện tại hoạt động :) Vấn đề của tôi là, bây giờ nó chỉ cắt chuỗi .. Nhưng tôi muốn nó kiểm tra xem chuỗi có chứa các ký tự không hợp lệ hay không không dải nó :) – Behrens

Các vấn đề liên quan