簡體   English   中英

Javascript正則表達式僅字母,數字和破折號UTF8

[英]Javascript regex only letters and numbers and dash UTF8

有php regExp

$string = preg_replace("/[^\p{L}|\p{N}]+/u", " ", $string);
$string = str_replace(' ', '-', $string);

幫我在js上寫,需要轉換

jbgsbg5%E-th-t65?tw45@%^&*j-y&u-САМОЛЁТ~   ~2><%27;[]~!6456

jbgsbg5-E-th-t65-tw45-j-y-u-САМОЛЁТ-2-6456

謝謝!

您可以使用[^a-z0-9\\- ... ЛЁ ... ]刪除所有非字母,非數字和非破折號:

var foo = 'jbgsbg5%E-th-t65?tw45@%^&*j-y&u-САМОЛЁТ~   ~2><%27;[]~!6456';

foo
    .replace(/\s+/g, "") // remove whitespaces
        .replace(/[^a-zA-Z0-9\- ... ЛЁ ... ]/ig, "") // remove non-letters, non-numbers and non-dash characters
            .replace(/\-+/g, '-'); // replace multiple `-` character with single `-`

... ЛЁ ...是所有的羅馬字母的。

您可以在javascript中嘗試使用此正則表達式:

[\u00BF-\u1FFF\u2C00-\uD7FF\w\-]+

http://regex101.com/r/pE0eL8/1

僅字母,數字和破折號UTF8 JS

link = link.replace(/[^\u00BF-\u1FFF\u2C00-\uD7FF\w]+|[\_]+/ig, '-');

暫無
暫無

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

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