문자열을 비워 둘 수있는 정규식이 있습니다. 비어 있지 않은 경우 문자열에는 문자와 공백 만 포함될 수 있습니다. 그러나 공간으로 시작하거나 끝나지 않을 수도 있습니다. ^(?!)[a-zA-Z]*[a-zA-Z ]*$
난 여기가 테스트 한 : http://tools.netshiftmedia.com/regexlibrary/자바 정규식은 빈 문자열과 비어 있지 않은 문자열을 허용해야합니다.
을하지만 내 JS이 구현있을 때, 그것은 문자열이 비어있을 수 없습니다
이 정규식은이 작업을 수행해야합니다.
이 코드 빈 문자열이 허용되도록 코드를 변경하는 방법
function validatePreposition(name) {
string = string = document.forms['form'][name].value;
pattern = new RegExp('^(?!)[a-zA-Z]*[a-zA-Z ]*$');
checkString(name, pattern, string);
}
function checkString(name, pattern, string) {
if(!pattern.test(string)) {
error[name] = 1;
} else {
error[name] = 0;
}
printErrors();
}
입니까?
'(?!)'는 무엇입니까? – jergason
@Jergason 부정적인 lookahead : http://www.regular-expressions.info/lookaround.html – Marcus
나는 당신이 무슨 뜻인지 잘 모르겠다. '/^(?!) [a-zA-Z] * [a-zA-Z] * $ /. test ("") === true'. – pimvdb