我有一個允許字符串爲空的正則表達式。如果它不是空的,字符串可能只包含字母和空格。但它可能不會以空間開始或結束。Javascript的正則表達式應該允許空字符串和非空字符串,但它不會
這個正則表達式應該做好這項工作: ^(?!)[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負面看法:http://www.regular-expressions.info/lookaround.html – Marcus
我不確定你的意思; '/ ^(?!)[a-zA-Z] * [a-zA-Z] * $ /。test(「」)=== true'。 – pimvdb