Tôi đang cố gắng làm điều gì đó mà tôi nghĩ sẽ khá dễ làm, đó là hạn chế chuỗi ký tự nhất định bằng cách khớp biểu thức chính quy..match() với biểu thức chính quy trả về null
var value = 'FailureStr1ng';
var type = 'ALPHA';
var regex = null;
switch(type) {
case 'ALPHA':
regex = '^[a-zA-Z]+$';
break;
case 'NUMERIC':
regex = '^[0-9]+$';
break;
case 'ALPHANUMERIC':
regex = '^[a-zA-Z0-9]+$';
break;
}
return value.match(regex);
Vì lý do nào đó, khi sử dụng, nó luôn trả về null
. Có cách nào để sửa lỗi này, hoặc một phương pháp tốt hơn để làm điều này?
Lưu ý: Mã ở đây là một đoạn mã lớn hơn nhiều, và lần lượt biến giá trị và loại thường được xác định bằng phương pháp khác.
Nó trả về giá trị rỗng vì bạn có '1' trong chuỗi sao cho nó không khớp. Thay đổi nó thành một chuỗi hợp lệ trả về chuỗi đó. http://jsfiddle.net/GLVAj/ –