2013-03-13 27 views
1

你好我有困難的平移代替浸漬在PHP中的jQuery代替....我使用下面給出......不是強項的正則表達式的代碼...翻譯的preg_replace jQuery的替代

dcis_ccnum="3433-4343-3434-3434"; 
    dcis_ccnum.replace(/(?!^.?)[0-9](?!(.){0,3}$)/, '*'); 
    alert(dcis_ccnum); 

警報給我的是什麼3433-4343-3434-3434它應該給我的是3 * - * - *** - 3434。

的PHP代碼工作得很好

echo $dcis_ccnum1=preg_replace('/(?!^.?)[0-9](?!(.){0,3}$)/', '*', '3433-4343-3434-3434'); 

有人可以讓我知道我做錯了什麼?

感謝

回答

2

只需添加g(全球)修改。

dcis_ccnum="3433-4343-3434-3434"; 
dcis_ccnum = dcis_ccnum.replace(/(?!^.?)[0-9](?!(.){0,3}$)/g, '*'); 
document.write(dcis_ccnum); 

輸出:

3***-****-****-3434 

默認情況下string.replace在JavaScript只會取代它找到的第一個匹配值。添加/g意味着將替換所有匹配值。

+0

你是天才。謝謝 – 2013-03-13 06:11:29