2016-02-24 24 views
2

我使用了一個正則表達式,它允許用戶輸入像正則表達式,讓空間的一個詞

ABC123字母數字值後,xyz321

但現在我想的是這些字符,它不允許我進入某些角色之間的空間。

ABC TEST7123test abc4這也應該工作

工作實例: -

123ABC TEST4

A7組織。

我不希望是這樣的: -

下面

是我的代碼

function NumbersWithCharValidation(thisObj) { 
     var textBoxvalue = thisObj.value; 
     if (textBoxvalue.length == 0 || (isNaN(textBoxvalue) && !textBoxvalue.match(/\W/))) { 
     } 
     else { 
      alert('Numbers and Special characters are not allowed'); 
      document.getElementById('txtNameOfFirm').focus(); 
     } 
    } 

好心提示這裏有什麼問題

+0

@WiktorStribiżew:它接受'232 2323' – BNN

+0

@WiktorStribiżew:它後空格仍採取號碼,如'221 23323' – BNN

+0

你想讓它與','或'。'一起工作嗎?最後? 你已經指定了'。'經過A7組織。 –

回答

2

您可以使用此正則表達式與負面看法:

/^(?!\d+\b)\w+(?: \w+)*$/ 

這個正則表達式會在單詞間隔。負前瞻(?!\d+\b)是爲了防止123 456作爲有效輸入的情況。

RegEx Demo

+0

讓我試試看,是否會用雙引號'「您的正則表達式」? – BNN

+0

它正在接受'121 345' – BNN

+0

不,它不接受'121 345',因爲你可以[在這個演示中看到這個](https://regex101.com/r/zB8jU3/2)確保使用'g'和'm' flags – anubhava

0

使用此正則表達式匹配烏爾輸入:

(?!\d+\b)\w+\s*