簡體   English   中英

Javascript正則表達式刪除字母或空格以外的任何字符

[英]Javascript Regular Expression to remove any characters other than letters or space

我正在嘗試驗證輸入字段並使用AJAX進行存儲
我的JavaScript代碼是:

<script type='text/javascript'> 
function addICValidate()    {
    var invalidString=/[^a-zA-Z\s]/; // Alphabets with spaces only
    var searchQuery=document.getElementById('addICName').value;
    var validQuery=searchQuery.replace(invalidString,"");
    document.getElementById('addICName').value=validQuery;

    return true;
}

function addIC()    {
    if(addICValidate()) {
        hideAddICBox();
        var ajaxObj=newAjaxObj();
        if(ajaxObj) {       
            ajaxObj.onreadystatechange=function() {
                if(ajaxObj.readyState==4)   {
                        hideAddICBox();
                        addUpdateItemForm();
                }
            }

            var ICName=document.getElementById('addICName').value;
            url="addICSubmit.php?ICName="+ICName;
            url = encodeURI(url);

            ajaxObj.open("GET",url,true);
            ajaxObj.send(null);
        }
    }
    return false; // Required
}
</script>

這是HTML:

<form id='addICForm' name='addICForm' action='#' onsubmit='return addIC()'>
<table width=100% align='center' id='addICAttList'>
    <tr>
        <td>Name</td>
        <td><input type='text' id='addICName' name='addICName' /></td>
    </tr>
    <tr>
        <td align='right'><input type='submit' value='Add Item' /></td>
        <td align='left'><input type='reset' value='Clear' /></td>
    </tr>
</table>
</form>

但是替換無效! 我在一個在線JavaScript regex測試器中嘗試了regex,並且它起作用了。 我究竟做錯了什么?

此正則表達式加上javascript的replace將僅替換無效字符的第一個實例。 嘗試在正則表達式字符串/[^a-zA-Z\\s]/g的末尾添加g選項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM